sql連接字串

來源:互聯網
上載者:User
SQL Server .NET Data Provider 連接字串包含一個由一些屬性名稱/值對組成的集合。每一個屬性/值對都由分號隔開。          PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;..... 同樣,連接字串必須包含SQL Server執行個體名稱:          Data Source=ServerName;          使用本地的SQL Server(localhost),如果想要使用遠程伺服器運行,應該在樣本對象中把正確的伺服器賦給Data Source 屬性。此外,還必須指定所支援的兩種驗證方法(即Windows身分識別驗證和SQL Server身分識別驗證)中的其中一種。Windows身分識別驗證使用Windows登入使用者身份串連資料庫,而SQL身分識別驗證要求顯式地指定SQL Server使用者ID和密碼。要想使用Windows身分識別驗證,必須在連接字串中包括 Integrated Security 屬性:          Data Source=ServerName;Integrated Security=True;          預設情況下,Integrated Security 屬性為 False ,這意味著將禁用Windows身分識別驗證。如果沒有顯式地把這個屬性的值設定為True,串連將使用SQL Server身分識別驗證,因此,必須提供SQL Server使用者ID和密碼。Integrated Security屬性還能識別的其他值只有SSPI(Security Support Provider Interface,安全性支援提供者介面).在所有的Windows NT作業系統上,其中包括Windows NT 4.0、2000、XP,都支援值SSPI。它是使用Windows身分識別驗證時可以使用的惟一介面,相當於把Integrated Security 屬性值設定為True。         在Windows身分識別驗證模式中,SQL Server使用Windows的安全子系統對使用者串連進行有效性驗證。即使顯示地指定使用者ID和密碼,SQL Server也不檢查連接字串中的使用者ID和密碼。因為只有Windows NT、2000、XP支援SSPI,因此如果正使用的是這些作業系統,則只能使用Windows整合的安全性原則去串連SQL Server。不論使用哪一個作業系統,當使用SQL Server身分識別驗證時,必須在連接字串中指定使用者ID和密碼: Data Source=ServerName;User ID=donaldx;Password=unbreakable         預設情況下,SQL Server .NET Data Provider串連指定使用者的預設資料庫,當在資料庫中建立使用者時,可以設定使用者的預設資料庫。此外,也可以在任意時間更改使用者的預設資料庫。例如,系統管理員的預設資料庫是master。如果想要串連不同的資料庫,應該指定資料庫的名稱: Data Source=ServerName;Integrated Security=SSPI;Initial Catalog=Northwind         每一種身分識別驗證都有它的優點和缺點。Windows身分識別驗證使用單一的使用者資訊庫源,因此,不需要為資料庫訪問去分別配置使用者。連接字串不包含使用者ID和密碼,因此消除了把使用者ID和密碼暴露給未授權的使用者的危險。可以在Active Directory中系統管理使用者和他們的角色,而不必在SQL Server中顯式地配置他們的屬性。 Windows身分識別驗證的缺點是,它要求客戶通過Windows的安全子系統支援的安全通道去串連SQL Server。如果應用種序需要通過不安全的網路(例如Internet)串連SQL Server,Windows身分識別驗證將不工作。此外,這種驗證方法也部分地把管理資料庫存取控制的責任從DBA身上轉移到了系統管理員身上,這在確定的環境中也許是一個問題。          一般而言,在設計通用的應用程式時,為了使用Windows身分識別驗證,將會對一些方面進行加強。大多數公司的資料庫都駐留在比較健壯的Windows伺服器作業系統上,那些作業系統都支援Windows身分識別驗證。資料訪問層和資料展示層的分離也促進了把資料存取碼封裝在中介層組件思想的應用,中介層組件通常運行在具有資料庫伺服器的內部網路中。當這樣設計時,就不需要通過不安全通道建立資料庫連接。除此之外,Web服務也使直接連接不同域中資料庫的需要大減少。 來自:http://www.cnblogs.com/lanse777/archive/2007/03/28/691757.html   資料庫的串連性已經發展成為應用程式開發的一個標準方面。資料庫連接字串現在已經成為每個項目的標準必備條件。我發現自己為了找到所需要的句法,經常要從另外一個應用程式中複製連接字串或者進行一次搜尋。這個在與SQL Server互動操作時更是如此,因為它有太多的連接字串選項。現在就讓我們來研究一下連接字串的眾多方面。連接字串在對象執行個體化或者建立期間,資料庫連接字串通過屬性或方法被傳遞到必要的對象。連接字串的格式是一個以分號為界,劃分鍵/值參數對的列表。列表A中包括了一個C#中的例子,說明了怎樣用建立SqlConnection對象的方法串連到SQL Server(實際的連接字串是通過對象的ConnectionString屬性分配的)。列表B中包括的是VB.NET的版本。列表Astring cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"; SqlConnectionconn = new SqlConnection(); conn.ConnectionString = cString; conn.Open(); 列表BDim cString As String cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;" 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(初始編目):資料庫的名稱。 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的工作站的名稱。其預設值為本機電腦的名稱。 本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/realduke2000/archive/2008/06/13/2543899.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.