C# 鏈接SQL數據庫

一: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啓動服務,也是一種快捷的方法)。
相關文章
相關標籤/搜索