⑴ 什麼是資料庫連接字元串
連接字元串的是一個以分號為界,劃分鍵/值參數對的列表。連接字元串包含一個由一些屬性名/值對組成的集合。每一個屬性/值對都由分號隔開,如下所示:
PropertyName1="Value1";PropertyName2="Value2";PropertyName3="Value3";.....
同樣,連接字元串必須包含SQL Server實例名稱: Data Source=ServerName;
總的來說,資料庫的連接字元串分為兩種:Windows身份驗證和SQL Server身份驗證。每種方法都有各自的優缺點。但是遵循的基本規則是一樣的,基本規則如下:
如果採用SQL Server身份驗證方式,Data Source(數據源)、Initial Catalog(初始編目)、User ID(用戶ID)、和Password(密碼)等元素是必須的,下面這些選項都是可用的:
·Application Name(應用程序名稱):應用程序的名稱。如果沒有被指定的話,它的值為.NET SqlClient Data Provider(數據提供程序).
·AttachDBFilename/extended properties(擴展屬性)/Initial File Name(初始文件名):可連接資料庫的主要文件的名稱,包括完整路徑名稱。資料庫名稱必須用關鍵字資料庫指定。
·Connect Timeout(連接超時)/Connection Timeout(連接超時):一個到伺服器的連接在終止之前等待的時間長度(以秒計),預設值為15。
·Connection Lifetime(連接生存時間):當一個連接被返回到連接池時,它的創建時間會與當前時間進行對比。如果這個時間跨度超過了連接的有效期的話,連接就被取消。其預設值為0。
·Connection Reset(連接重置):表示一個連接在從連接池中被移除時是否被重置。一個偽的有效在獲得一個連接的時候就無需再進行一個額外的伺服器來回運作,其預設值為真。
·Current Language(當前語言):SQL Server語言記錄的名稱。
·Data Source(數據源)/Server(伺服器)/Address(地址)/Addr(地址)/Network Address(網路地址):SQL Server實例的名稱或網路地址。
·Encrypt(加密):當值為真時,如果伺服器安裝了授權證書,SQL Server就會對所有在客戶和伺服器之間傳輸的數據使用SSL加密。被接受的值有true(真)、false(偽)、yes(是)和no(否)。
·Enlist(登記):表示連接池程序是否會自動登記創建線程的當前事務語境中的連接,其預設值為真。
·Database(資料庫)/Initial Catalog(初始編目):資料庫的名稱。
·Integrated Security(集成安全)/Trusted Connection(受信連接):表示Windows認證是否被用來連接資料庫。它可以被設置成真、偽或者是和真對等的sspi,其預設值為偽。
·Max Pool Size(連接池的最大容量):連接池允許的連接數的最大值,其預設值為100。
·Min Pool Size(連接池的最小容量):連接池允許的連接數的最小值,其預設值為0。
·Network Library(網路庫)/Net(網路):用來建立到一個SQL Server實例的連接的網路庫。支持的值包括: dbnmpntw (Named Pipes)、dbmsrpcn (Multiprotocol/RPC)、dbmsvinn(Banyan Vines)、dbmsspxn (IPX/SPX)和dbmssocn (TCP/IP)。協議的動態鏈接庫必須被安裝到適當的連接,其預設值為TCP/IP。
·Packet Size(數據包大小):用來和資料庫通信的網路數據包的大小。其預設值為8192。
·Password(密碼)/Pwd:與帳戶名相對應的密碼。
·Persist Security Info(保持安全信息):用來確定一旦連接建立了以後安全信息是否可用。如果值為真的話,說明像用戶名和密碼這樣對安全性比較敏感的數據可用,而如果值為偽則不可用。重置連接字元串將重新配置包括密碼在內的所有連接字元串的值。其預設值為偽。
·Pooling(池):確定是否使用連接池。如果值為真的話,連接就要從適當的連接池中獲得,或者,如果需要的話,連接將被創建,然後被加入合適的連接池中。其預設值為真。
·User ID(用戶ID):用來登陸資料庫的帳戶名。
·Workstation ID(工作站ID):連接到SQL Server的工作站的名稱。其預設值為本地計算機的名稱。
⑵ sqlconnection連接方法
Sql server2000本地連接方法採用兩種連接字元串,具體如下:
第一種字元串為:server = .kingsql;database = Northwind ; integrated security=SSPI
第二種字元串為:server = .kingsql;database = Northwind ; uid = sa; pwd = sa
若進行遠程連接,則首先需保證客戶端與SQL伺服器連接成功。具體步驟如下:
1. ping 伺服器IP測試連通性,確保網路配置正確,遠程SQL server 2000伺服器的IP拼寫無誤。
2. 在命令行下輸入telnet 伺服器IP 埠,檢查是否能正常連接,如:telnet 202.114.100.100 1433。通常埠值為1433,這是SQL server 2000的默認偵聽埠。
若連接失敗,可按照以下步驟排查問題:
1. 檢查遠程伺服器是否已啟動SQL server 2000服務。
2. 確認伺服器端已啟用TCP/IP協議,可以通過在伺服器上打開開始菜單->程序->Microsoft SQL Server->伺服器網路實用工具查看。
3. 檢查伺服器的TCP/IP埠配置是否為1433,確保默認埠設置正確且不隱藏伺服器。
4. 如果伺服器端已打過sp2補丁,則需要配置Windows防火牆開放1433埠,通常測試時可直接關閉Windows防火牆。
5. 檢查伺服器是否在1433埠偵聽,使用netstat命令查看。
若以上步驟均無問題,進行telnet伺服器ip 1433測試後,將能看到屏幕閃爍且游標不停閃動,表示遠程連接成功。
在代碼實現上,可使用如下方式建立SqlConnection連接:
SqlConnection conn = new SqlConnection("Server=.;Database=Northwind;Uid=sa;pwd=密碼;");
注意:在實際應用中需替換`.;`為目標伺服器IP,`Northwind`為資料庫名稱,`sa`為連接資料庫的用戶名,`密碼`為連接資料庫的密碼。如未設置密碼,則無需填寫,否則將導致連接錯誤。
⑶ sqlserver中連接時出現錯誤:" DataSource"怎麼
這是連接資料庫的字元串,Data Source 是數據源,Initial Catalog是資料庫的名稱,User ID是登錄數據的用戶名,Pwd是登錄資料庫的密碼。
"Data Source=.;Initial Catalog=MyQQ;User ID=sa;Pwd=sa",這串代碼DataSource等號後面的那個點是代表你所使用的資料庫是本地資料庫,本地資料庫默認的實例名就是.SQLEXPRESS。
特別注意的是:正常用一個點就可以代表本地資料庫了,但是如果你在運行的時候還是跳出錯誤的話,可以將一個點改成".SQLEXPRESS",這樣就沒有問題了。
(3)默認資料庫連接字元串擴展閱讀
資料庫的常見操作語句:
1、創建資料庫
Createdatabase Test
2、刪除資料庫
Drop database Test
3、備份資料庫
backup database Test to disk='E:/Test.bak'
4、還原資料庫
restore database Test from disk='E:/Test.bak'