.NET SQL Server鏈接字符串句法

.NET SQL Server鏈接字符串句法數據庫

 

 

數據庫的鏈接性已經發展成爲應用程序開發的一個標準方面。數據庫鏈接字符串如今已經成爲每一個項目的標準必備條件。我發現本身爲了找到所須要的句法,常常要從另一個應用程序中複製鏈接字符串或者進行一次搜索。這個在與SQL Server交互操做時更是如此,由於它有太多的鏈接字符串選項。如今就讓咱們來研究一下鏈接字符串的衆多方面。安全

鏈接字符串服務器

在對象實例化或者創建期間,數據庫鏈接字符串經過屬性或方法被傳遞到必要的對象。鏈接字符串的格式是一個以分號爲界,劃分鍵/值參數對的列表。列表A中包括了一個C#中的例子,說明了怎樣用建立SqlConnection對象的方法鏈接到SQL Server(實際的鏈接字符串是經過對象的ConnectionString屬性分配的)。列表B中包括的是VB.NET的版本。網絡

引用內容:

string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;";框架

SqlConnectionconn = new SqlConnection();ide

conn.ConnectionString = cString;加密

conn.Open();線程

引用內容:

Dim cString As Stringcode

cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"server

Dim conn As SqlConnection = New SqlConnection()

conn.ConnectionString = cString

conn.Open()

鏈接字符串會指定數據庫服務器和數據庫,以及訪問數據庫必需的用戶名和密碼。可是這種格式並非對全部數據庫交互都適用,它的確有許多可用的選項,其中不少選項都有同義詞。和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(初始編目):數據庫的名稱。

[b]* 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的工做站的名稱。其缺省值爲本地計算機的名稱。

下面的鏈接字符串用一個受信鏈接和指定的登錄證書(不及管理員密碼空缺安全),在Test\Dev1服務器上與Northwind數據庫創建鏈接:  

引用內容:

Server=Test\Dev1;Database=Northwind;User ID=sa;

Password=;Trusted_Connection=True;

下一個鏈接字符串使用了TCIP/IP 和一個指定的IP地址:

引用內容:

Data Source=192.162.1.100,1433;Network Library=DBMSSOCN;

Initial Catalog=Northwind;User ID=sa;Password=;

所使用的選項能夠很容易地包括在鏈接字符串中,可是它們仍是取決於你的應用程序和它的要求。知道什麼是可用的是頗有好處的,這樣你就能夠恰當地使用它。

使用ADO.NET 2.0

ADO.NET 2.0爲每個.NET框架的數據提供程序引進了新的鏈接字符串生成器。關鍵詞做爲屬性被列出,使得鏈接字符串句法在提交到數據源以前就生效。也還有新的類可使鏈接字符串在配置文件中的存儲和檢索變得簡單,而且用受保護的方式將它們加密。

或多或少,正是你須要的。

經過.NET應用程序鏈接到SQL Server爲特定的鏈接參數和其餘選項提供了多種選擇。它能夠像指定數據庫、服務器和登陸憑據那樣簡單,也可能像設置緩衝鏈接池和安全選項同樣複雜。 ADO.NET 2.0的確經過數據庫類使得鏈接字符串選項具備了更大的靈活性。你只需使用應用程序所須要的選項,沒必要理會其餘的。並且,若是你發現本身身陷困境,記不得鏈接字符串句法了,能夠查閱如下網址ConnectionStrings.com

相關文章
相關標籤/搜索