原文:http://www.49028c.com/wupeiqi/archive/2013/05/04/3058914.html
這里詳細的介紹了各種數據庫的各種連接http://www.connectionstrings.com/
例如:String strConn="Data Source=.;Initial Catalog=數據庫的名字;Integrated Security=ture" String strConn="Data Source=.;Initial Catalog=數據庫的名字;Integrated Security=false";User ID=sa;Passwrod=123; String strConn="Server=.;Database=數據庫名稱";User Id=sa;PassWord=123;
1、Data Source 數據源,也可以說是服務器。 “Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。 本地數據源:Data Source=./SQLExPRess,Data Source=(Local)/SQLExpress
2、Initial Catalog 數據庫名稱 Initial Catalog 可以由下倆字符串代替:“Database”3、Integrated Security “Integrated Security”可以寫成“trusted_connection” 為true時,使用當前的 Windows 身份驗證 為false時,需要在連接中指定用戶名和密碼(即使連接字符串中有User Id 和Password也是不起作用的!)Integrated Security 可以設置為: True, false, yes, no ,這四個容易理解了,另外,還可以設置為:sspi ,相當于 True
//sql server 身份驗證 連接字符串private string ConnstrSqlServer = "server=服務器名稱;uid=登錄名稱;pwd=登錄密碼;database=數據庫名稱";
//windows 身份驗證連接字符串private string ConnstrWindows = "server=服務器名稱;database=數據庫名稱;Trusted_Connection=SSPI";
// 在 C# 代碼中用 SqlClient 的方式訪問 SQL Server 2008 數據庫 // .NET Framework Data Provider for SQL Server 標準寫法 Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
// .NET Framework Data Provider for SQL Server 另一種標準寫法 Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
// .NET Framework Data Provider for SQL Server 信任連接寫法 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
// .NET Framework Data Provider for SQL Server 信任連接另一種寫法 Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
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和密碼暴露給未授權的用戶的危險??梢栽贏ctive Directory中管理用戶和他們的角色,而不必在SQL Server中顯式地配置他們的屬性。 Windows身份驗證的缺點是,它要求客戶通過Windows的安全子系統支持的安全通道去連接SQL Server。如果應用種序需要通過不安全的網絡(例如Internet)連接SQL Server,Windows身份驗證將不工作。此外,這種身份驗證方法也部分地把管理數據庫訪問控制的責任從DBA身上轉移到了系統管理員身上,這在確定的環境中也許是一個問題。 一般而言,在設計通用的應用程序時,為了使用Windows身份驗證,將會對一些方面進行加強。大多數公司的數據庫都駐留在比較健壯的Windows服務器操作系統上,那些操作系統都支持Windows身份驗證。數據訪問層和數據表示層的分離也促進了把數據訪問代碼封裝在中間層組件思想的應用,中間層組件通常運行在具有數據庫服務器的內部網絡中。當這樣設計時,就不需要通過不安全通道建立數據庫連接。除此之外,Web服務也使直接連接不同域中數據庫的需要大減少。
數據庫的連接性已經發展成為應用程序開發的一個標準方面。數據庫連接字符串現在已經成為每個項目的標準必備條件。我發現自己為了找到所需要的句法,經常要從另外一個應用程序中復制連接字符串或者進行一次搜索。這個在與SQL Server交互操作時更是如此,因為它有太多的連接字符串選項?,F在就讓我們來研究一下連接字符串的眾多方面。
連接字符串
在對象實例化或者建立期間,數據庫連接字符串通過屬性或方法被傳遞到必要的對象。連接字符串的格式是一個以分號為界,劃分鍵/值參數對的列表。列表A中包括了一個C#中的例子,說明了怎樣用創建SqlConnection對象的方法連接到SQL Server(實際的連接字符串是通過對象的ConnectionString屬性分配的)。列表B中包括的是VB.NET的版本。
列表A
string cString = "Data Source=server;Initial Catalog=db;User ID=test;Password=test;"; SqlConnectionconn = new SqlConnection(); conn.ConnectionString = cString;conn.Open();
列表B
Dim 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(密碼)等元素一起,下面這些選項都是可用的:
解決SQL Server 連接時的一些基本問題后的若干初淺心得
學生做了一個題庫系統,用C#寫的ASP應用程序,數據庫用SQL Server2000,交給我看看。放到服務器上后,出現問題。反復調整后發現了解決的方法,其實很簡單?;剡^頭去看了看,發現是自己對SQL Server的連接語句和用戶權限的認識不足所造成的。下面將我的一些心得以及網上查到的有關資料匯集一下,以為后來者借鑒,當然很膚淺。1、SQL Server的連接方式
以本地服務器(LocalHost),數據庫(Northwind)為例,可以有以下一些連接方式
SqlConnection conn=new SqlConnection( "Server=LocalHost;Integrated Security=SSPI;Database=Northwind");
SqlConnection conn = new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=Northwind;");
SqlConnection conn = new SqlConnection(" Data Source=LocalHost;Initial Catalog=Northwind;Integrated Security=SSPI;Persist Security Info=False;Workstation Id=XURUI;Packet Size=4096; "); SqlConnection myConn = new SqlConnection("Persist
新聞熱點
疑難解答