關(guān)于ADO.NET連接字符串三種方法介紹
ADO.NET連接字符串還是比較常用的,于是我研究了一下ADO.NET連接字符串,在這里拿出來和大家分享一下,希望對(duì)大家有用。所有的ADO.NET連接字符串都有相同的格式,它們由一組關(guān)鍵字和值組成,中間用分號(hào)隔開,兩端加上單引號(hào)或雙引號(hào)。關(guān)鍵字不區(qū)分大小寫,但是值可能會(huì)根據(jù)數(shù)據(jù)源的情況區(qū)分大小寫。假設(shè)SQL Server2005數(shù)據(jù)庫服務(wù)器為本機(jī),要訪問的數(shù)據(jù)庫名為MyDB,采用Windows集成安全性認(rèn)證方式。
1.SQL Client方式的連接字符串如下:
- "Data Source=127.0.0.1;Persist Security Info=False;Initial Catalog=MyDB;
- Integrated Security=SSPI"
"Data Source"是關(guān)鍵字,這里與"server"可以呼喚,都用來表示數(shù)據(jù)庫服務(wù)器,等號(hào)后面就要對(duì)應(yīng)具體的數(shù)據(jù)庫服務(wù)器的IP或者名稱。"Persist Security Info"關(guān)鍵字,如果將該關(guān)鍵字設(shè)置為true或yes,將允許在打開連接后,從連接中獲得涉及安全性的信息(包括用戶標(biāo)識(shí)和密碼)。如果在建立連接時(shí)必須提供用戶標(biāo)識(shí)和密碼,最安全的方法是在使用信息打開連接后丟棄這些信息,在Persist Security Info設(shè)置為false或no時(shí)會(huì)發(fā)生這種情況。
當(dāng)您向不可信的源提供打開的連接,或?qū)⑦B接信息***保存到磁盤時(shí),這點(diǎn)尤其重要。如果將Persist Security Info保持為false,可幫助確保不可信的源無法訪問連接中涉及安全性的信息,并幫助確保任何涉及安全性的信息都不會(huì)隨連接字符串信息在磁盤上持久化。
"Initial Catalog"關(guān)鍵字可以與"database"關(guān)鍵字互換,用來指定需要連接的數(shù)據(jù)庫服務(wù)器中具體某一數(shù)據(jù)庫,等號(hào)后面就要對(duì)應(yīng)具體的數(shù)據(jù)庫,本例中就是"MyDB"。"Integrated Security"關(guān)鍵字表示是否使用Windows身份驗(yàn)證(通常稱為集成安全性)連接到服務(wù)器數(shù)據(jù)庫上。
#T#如果鍵值為"true"或者"SSPI"表示指定Windows身份驗(yàn)證,如果鍵值為"false"表示不指定Windows身份驗(yàn)證。但是,只有鍵值"SSPI"將適用于OleDb .NET Framework數(shù)據(jù)提供程序。對(duì)于ODBC .NET Framework數(shù)據(jù)提供程序,必須使用以下鍵/值"Trusted_Connection=yes;"指定Windows身份驗(yàn)證。對(duì)于不使用Windows身份驗(yàn)證而使用SQL Server身份驗(yàn)證,使用"User ID=*****;Password=*****;"替換掉"Integrated Security"關(guān)鍵字及其鍵值,來指定用戶名和密碼。
2.OLE DB方式的連接字符串如下:
- "Provider=SQLOLEDB;Data Source=127.0.0.1;Persist Security Info=False;
- Initial Catalog=MyDB;Integrated Security=SSPI"
"Provider"關(guān)鍵字用來指定哪一類數(shù)據(jù)源,其鍵值取值可以參見表4-4,其他關(guān)鍵字用法與SQL Client方式相同。
3.ODBC方式的連接字符串如下:
- "Driver={SQL Server};Server=127.0.0.1;Database=MyDB;
- Trusted_Connection=Yes;UID=Administrator"
"Driver"關(guān)鍵字用來指定哪一類數(shù)據(jù)源,其鍵值取值可以參見表,其他關(guān)鍵字用法與SQL Client方式相似。區(qū)別就是"Trusted_Connection"、"UID"與"Integrated Security"、"User ID",關(guān)鍵字雖然不同,但是用法相同。