程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#連接SQL數據庫代碼

C#連接SQL數據庫代碼

編輯:C#入門知識

感覺很有必要總結一下

一: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啟動服務,也是一種快捷的方法)。
 
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved