c#銜接數據庫及sql2005長途銜接的辦法。本站提示廣大學習愛好者:(c#銜接數據庫及sql2005長途銜接的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是c#銜接數據庫及sql2005長途銜接的辦法正文
一:C#銜接SQL數據庫
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
1:Integrated Security參數
當設置Integrated Security為 True 的時刻,銜接語句後面的 UserID, PW 是不起感化的,即采取windows身份驗證形式。
只要設置為 False 或省略該項的時刻,才依照 UserID, PW 來銜接。
Integrated Security 還可以設置為:sspi ,相當於 True,建議用這個取代 True。
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=true;
Data Source=myServerAddress;Initial Catalog=myDataBase;;User ID=myUsername;Password=myPasswordIntegrated Security=false;
2:參數Trusted_Connection
Trusted_Connection=true,將應用以後的 Windows 帳戶憑證停止身份驗證
Trusted_Connection=false;將不采取信賴銜接方法(也即不采取Windows驗證方法),而改由SQL Server 2000驗證方法
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=false;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
3:Initial Catalog是你要銜接的數據庫的名字
4:WINCE銜接
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain/myUsername;Password=myPassword;
二:可以應用SqlConnectionStringBuilder,如許不用去記住稱號。
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = @"(local)/SQLExpress";
scsb.IntegratedSecurity = true;
scsb.InitialCatalog = "Northwind";
SqlConnection myConnection = new SqlConnection(scsb.ConnectionString);
三:可以應用屬性中的Setting來主動設置銜接字符串
1:在type當選擇 (connection string),
2:在DataSouce當選擇數據源,然後再Server中輸出辦事器名,當地用(local)/SQLExpress
3:選擇上岸驗證方法,本次選Windows驗證(即信賴銜接Integrated Security=True)
4:選擇數據庫名,確認便可
Data Source=(local)/SQLExpress;Initial Catalog=Northwind;Integrated Security=True
server = ./sqlexpress;integrated security = true;database = northwind
四:SQL2005長途辦事器銜接辦法
若何翻開sql server 2005 的1433端口:
設置裝備擺設對象->Sql Server Configuration Manager->MSSQLSERVER的協定看看TCP/IP協定能否啟動,假如啟動,右鍵菜單點"屬性" ,在分頁菜單當選"IP地址",把"IP1"和"IP2"中"TCP端口"為1433,"已啟用"改成"是"
設置裝備擺設對象->Sql Server Configuration Manager->SQL Native Client 設置裝備擺設->客戶端協定->TCP/IP選擇TCP/IP右鍵菜單中"屬性",確認"默許端口"是1433,"已啟用"為"是"。
SQL Server 2005 長途銜接設置裝備擺設TCP/IP屬性:
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT SQL Server 核心運用設置裝備擺設器?辦事和銜接核心設置裝備擺設?database englie?長途銜接?啟用(長途銜接的TCP/IP和named pipes)
SQL Server Configuration Manager?SQL2005收集設置裝備擺設?啟用TCP/IP和named pipes
其他解釋見下: sqlserver2005(Express版),為了便於治理,你還須要去下一個manage治理器:
裝置好manage治理器後,在法式中銜接sqlserver2005,上面幾點是要留意的。
1. 開啟sql2005長途銜接功效,開啟方法以下, 設置裝備擺設對象->sql server核心運用設置裝備擺設器->辦事和銜接的核心運用設置裝備擺設器->翻開MSSQLSERVER節點下的Database Engine 節點,先擇"長途銜接",接下建議選擇"同時應用TCP/IP和named pipes",肯定後,重啟數據庫辦事便可以了.
2.上岸設置改成,Sql server and windows Authentication方法同時選中,詳細設置以下: manage治理器->windows Authentication(第一次用windows方法出來),->對象資本治理器當選擇你的數據辦事器--右鍵>屬性>security>Sql server and windows Authentication方法同時選中.
3:設置一個Sql server方法的用戶名和暗碼,詳細設置以下: manage治理器->windows Authentication>new query>sp_password null,'sa123456','sa' 如許就設置了一個用戶名為sa ,暗碼為:sa123456的用戶,下次在上岸時,可以用Sql server方法, 用戶名為sa ,暗碼為:sa123456的用戶進數據庫了.
4: 做完下面三步後,如許寫銜接字符串便可以順遂進入數據庫了, (server=./sqlexpress;uid=sa;pwd=sa123456;database=master";
五:SQL2000長途辦事器銜接辦法
1:看ping 辦事器IP可否ping通。
2:在Dos或敕令行下輸出telnet 辦事器IP 端口,看可否連通。 如telnet 202.114.100.100 1433 平日端口值是1433,由於1433是sql server 2000的關於Tcp/IP的默許偵聽端口。假如有成績,平日這一步會出成績。平日的提醒是“……沒法翻開銜接,銜接掉敗"。
假如這一步有成績,應當檢討以下選項。
1) 檢討長途辦事器能否啟動了sql server 2000辦事。假如沒有,則啟動。
2) 檢討辦事器端有沒啟用Tcp/IP協定,由於長途銜接(經由過程因特網)須要靠這個協定。檢討辦法是,在辦事器上翻開 開端菜單-> 法式-> Microsoft SQL Server-> 辦事器收集適用對象,看啟用的協定裡能否有tcp/ip協定,假如沒有,則啟用它。
3)檢討辦事器的tcp/ip端口能否設置裝備擺設為1433端口。依然在辦事器收集適用對象裡檢查啟用協定外面的tcp/ip的屬性,確保默許端口為1433,而且隱蔽辦事器復選框沒有勾上。 現實上,假如默許端口被修正,也是可以的,然則在客戶端做 telnet測試時,寫辦事器端標語時必需與辦事器設置裝備擺設的端標語堅持分歧。假如隱蔽辦事器復選框被勾選,則意味著客戶端沒法經由過程列舉辦事器來看到這台辦事器,起到了掩護的感化,但不影響銜接,然則Tcp/ip協定的默許端口將被隱式修正為2433,在客戶端銜接時必需作響應的轉變。
4)假如辦事器端操作體系打過sp2補釘,則要對windows防火牆作必定的設置裝備擺設,要對它開放1433端口,平日在測試時可以直接關失落windows防火牆(其他的防火牆也關失落最好)。
5)檢討辦事器能否在1433端口偵聽。假如辦事器沒有在tcp銜接的1433端口偵聽,則是銜接不上的。檢討辦法是在辦事器的dos或敕令行上面輸出 netstat -a -n 或許是netstat -an,在成果列內外看能否有相似 tcp 127.0.0.1 1433 listening 的項。假如沒有,則平日須要給sql server 2000打上至多sp3的補釘。其其實辦事器端啟動查詢剖析器,輸出 select @@version 履行後可以看到版本號,版本號在8.0.2039以下的都須要打補釘。 假如以上都沒成績,這時候你再做telnet 辦事器ip 1433 測試,將會看到屏幕一閃以後光標在左上角一直明滅。祝賀你,你立時可以開端在企業治理器或查詢剖析器銜接了。
3: 檢討客戶端設置 法式-> Microsoft SQL Server -> 客戶端收集應用對象。像在辦事器收集適用對象裡一樣,確保客戶端tcp/ip協定啟用,而且默許端口為1433(或其他端口,與辦事器端堅持分歧就行)。
4:在企業治理器裡或查詢那剖析器銜接測試 企業治理器-> 右鍵SQlserver組-> 新建sqlserver注冊-> 下一步-> 寫入長途IP-> 下一步-> 選Sqlserver上岸-> 下一步-> 寫入上岸名與暗碼(sa,password)-> 下一步-> 下一步-> 完成 查詢剖析器-> 文件-> 銜接-> 寫入長途IP-> 寫入登錄名和暗碼(sa,password)-> 肯定 平日建議在查詢剖析器裡做,由於默許情形下,經由過程企業治理器注冊別的一台SQL Server的超時設置是4秒,而查詢剖析器是15秒。 修正默許銜接超時的辦法: 企業治理器-> 對象-> 選項-> 在彈出的"SQL Server企業治理器屬性"窗口中,點擊"高等"選項卡-> 銜接設置-> 在 登錄超時(秒) 前面的框裡輸出一個較年夜的數字 查詢剖析器-> 對象-> 選項-> 銜接-> 在 登錄超時(秒) 前面的框裡輸出一個較年夜的數字 平日便可以連通了,假如提醒毛病,則進入下一步。
5:毛病發生的緣由平日是因為SQL Server應用了"僅 Windows"的身份驗證方法,是以用戶沒法應用SQL Server的登錄帳戶(如 sa )停止銜接。處理辦法以下所示:
1) 在辦事器端應用企業治理器,而且選擇"應用 Windows 身份驗證"銜接上 SQL Server。
2) 睜開"SQL Server組",鼠標右鍵點擊SQL Server辦事器的稱號,選擇"屬性",再選擇"平安性" 選項卡。
3)在"身份驗證"下,選擇"SQL Server和 Windows "。
4) 從新啟動SQL Server辦事。(在dos或敕令行上面net stop mssqlserver停滯辦事,net start mssqlserver啟動辦事,也是一種快捷的辦法)。