1 <configuration> 2 <connectionStrings> 3 <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLExpress;AttachDBFilename=|DataDirectory|aspnetdb.mdf;Initial Catalog=aspnet-MVCCodeFirstDemo-20150828102127;Integrated Security=SSPI;User Instance=true" /> 4 </connectionStrings> 5 </configuration>
SqlConnectionStringBuilder實例化時需要使用connectionString。如:SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString);
一、Data Source(數據來源:地址)
SqlConnectionStringBuilder的DataSource屬性,對應 connectionString中的Data Source,其意思表示為數據庫連接地址源(數據源),“Data Source”可以由下列字符串代替:“Server”,“Address”,“Addr”和“Network Address”。
Data Source=.\SQLExpress也可以寫成這樣Data Source=(local)\SQLExpress。
二、Integrated Security(集成驗證,即:是否使用Windows驗證的方式去連接到數據庫服務器)
SqlConnectionStringBuilder 的 IntegratedSecurity 屬性,對應 connectionString 中的I ntegrated Security,“Integrated Security”可以寫成“trusted_connection”。
為 True 時,使用當前的 Windows 帳戶憑據進行身份驗證,為 False 時,需要在連接中指定用戶 ID 和密碼。可識別的值為 True、False、Yes、No 以及與 True 等效的 SSPI。
如果沒有這些則必須寫上 uid=sa;pwd=123 之類的設置“uid”也可使用“User ID”,“pwd”也可換為“PassWord”。
SSPI:Microsoft安全支持提供器接口(SSPI)是定義得較全面的公用API,用來獲得驗證、信息完整性、信息隱私等集成安全服務,以及用於所有分布式應用程序協議的安全方面的服務。
應用程序協議設計者能夠利用該接口獲得不同的安全性服務而不必修改協議本身。
三、AttachDBFilename
SqlConnectionStringBuilder 的 AttachDBFilename 屬性,對應 connectionString 中的 AttachDBFilename,“AttachDBFilename”可以寫成“extended properties”,“initial file name”。
AttachDbFileName 屬性指定連接打開的時候動態附加到服務器上的數據庫文件的位置。
這個屬性可以接受數據庫的完整路徑和相對路徑(例如使用|DataDirectory|語法),在運行時這個路徑會被應用程序的 App_Data 目錄所代替。
四、User Instance
SqlConnectionStringBuilder 的 UserInstance 屬性,對應 connectionString 中的 User Instance ,該值指示是否將連接從默認的 SQL Server 實例重定向到在調用方帳戶之下運行並且在運行時啟動的實例。
UserInstance=true 時,SQLServerExpress 為了把數據庫附加到新的實例,建立一個新的進程,在打開連接的用戶身份下運行。
在 ASP.NET 應用程序中,這個用戶是本地的 ASPNET 帳號或默認的 NetworkService,這依賴於操作系統。
為了安全地附加非系統管理員帳號(例如ASP.NET帳號)提供的數據庫文件,建立一個獨立的 SQLServer 用戶實例是必要的。
五、Initial Catalog 等同於 Database,即數據庫名。
六、providerName 指定值“System.Data.OracleClient”,該值指定 ASP.NET 在使用此連接字符串進行連接時應使用 ADO.NET System.Data.OracleClient 提供程序。
--------------------------------------- 附加一些連接語句例子 ---------------------------------------
1 <--普通例子1--> 2 <configuration> 3 <connectionStrings> 4 <add name="Sales" providerName="System.Data.SqlClient" connectionString="server=myserver;database=Products;uid=salesUser;pwd=sellMoreProducts" /> 5 6 <add name="NorthWind" providerName="System.Data.SqlClient" connectionString="server=.;database=NorthWind;Integrated Security=SSPI" /> 7 8 </connectionStrings> 9 </configuration>
1 <--普通例子2--> 2 <configuration> 3 <connectionStrings> 4 <add name="NorthWind" connectionString="Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=da;Data Source=bar" /> 5 </configuration>
1 <connectionStrings> 2 <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=NorthWind;Integrated Security=SSPI" providerName="System.Data.SqlClient" /> 3 </connectionStrings> 4 <--也可寫為--> 5 <connectionStrings> 6 <add name="LocalSqlServer" connectionString="Server=.\SQLExpress;Database=NorthWind;Integrated Security=Yes" providerName="System.Data.SqlClient" /> 7 </connectionStrings>
----------------------------------------------------------------------------------------------------------
1 <configuration> 2 <connectionStrings> 3 <add name="DB2005_2" 4 providerName="System.Data.SqlClient" 5 connectionString="Data Source=.;Initial Catalog=Northwind;User ID=dbtester;Password=zhi;Trusted_Connection=False;Connect Timeout=30;Min Pool Size=16;Max Pool Size=100"/> 6 7 <add name="DB2005_1" 8 providerName="System.Data.SqlClient" 9 connectionString="Server=.;Database=Northwind;User ID=dbtester;Password=zhi;Trusted_Connection=False;Connect Timeout=30;Min Pool Size=16;Max Pool Size=100"/> 10 11 <add name="Northword2000" 12 providerName="System.Data.SqlClient" 13 connectionString="Initial Catalog=Northwind;User ID=dbtester;PassWord=zhi;Persist Security Info=false;Data Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool Size=100;"/> 14 15 <add name="SQLExp" 16 providerName="System.Data.SqlClient" 17 connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"/> 18 19 <add name="Oracle" 20 connectionString="Data Source=TEST;User ID=sa;Password=sa;" 21 providerName="System.Data.OracleClient" /> 22 23 <add name="oleconn" 24 providerName="System.Data.OleDb" 25 connectionString="Provider=Microsoft.Jet.OleDb.4.0;Data Source=|DataDirectory|northwind.mdb"/> 26 27 <add name="MySql" 28 providerName="MySql.Data.MySqlClient" 29 connectionString="Server=172.29.131.27;Port=3311;DataBase=comctl;Persist Security Info=False;User ID=root;Password=123456;Allow Zero Datetime=true;" /> 30 </connectionStrings> 31 <system.data> 32 <DbProviderFactories> 33 <add name="MySQL Data Provider" 34 invariant="MySql.Data.MySqlClient" 35 description=".Net Framework Data Provider for MySQL" 36 type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.2.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/> 37 </DbProviderFactories> 38 </system.data> 39 </configuration>
====================================== 可以保存為(以下轉自他處).cs ======================================
1 using System.Data.SqlClient; 2 using System.Configuration; 3 public class Class1 4 { 5 public Class1() 6 { 7 //Persist Security Info如果數據庫連接成功后不再需要連接的密碼,建議False 8 //string sql2000 = "Initial Catalog=Northwind;User ID=dbtester;PassWord=zhi;Persist Security Info=false;Data Source=(local);Connect Timeout=30;Min Pool Size=16;Max Pool Size=100;"; 9 //string sql2000 = "Initial Catalog=Northwind;User ID=sa;PassWord=5;Persist Security Info=false;Data Source=."; 10 //string sql2000 = "Initial Catalog=Northwind;User ID=sa;PassWord=5;Persist Security Info=false;Data Source=newtime"; 11 string source = "server=(local);integrated security=SSPI;database=Northwind"; 12 string expressSource = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\northwnd.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; 13 //Integrated Security采用windows的集成身份驗證,integraged Security=SSPI; 14 //Integrated Security=SSPI 這個表示以當前WINDOWS系統用戶身去登錄SQL SERVER服務器,如果SQL SERVER服務器不支持這種方式登錄時,就會出錯 15 //表示你的連接安全驗證方式,可用trusted_connection=yes取代 16 //Integrated Security 為 True。用戶實例僅與集成安全性一起使用,帶有用戶名和密碼的 SQL Server 用戶不起作用。 17 //string source3 = @"Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog= pubs;UserID=sa;Password=asdasd;"; 18 //(DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the Data Source is the port to use (1433 is the default)) 19 //Standard Security: 20 string source4 = "Data Source=Aron1;Initial Catalog= pubs;UserId=sa;Password=asdasd;"; 21 string source5 = "Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False"; 22 //Trusted_Connection 'false' 當為 false 時,將在連接中指定用戶 ID 和密碼。當為 true 時,將使用當前的 Windows 帳戶憑據進行身份驗證。 23 //可識別的值為 true、false、yes、no 以及與 true 等效的 sspi(強烈推薦)。所以一定要設置Trusted_Connection= false,以防被別人"登錄"、"注入語句"等 24 string source6 = "Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;"; 25 string source7 = "Server=Aron1;Database=pubs;Trusted_Connection=True;"; 26 //(use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000) 27 //Integrated Security或Trusted_Connection 'false' 當為 false 時, 28 //將在連接中指定用戶 ID 和密碼。當為 true 時,將使用當前的 Windows 帳戶憑據進行身份驗證 29 //VS2003:string connStr=System.Configuration.ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"];2003中用的 30 //VS2005:string connStr=System.Configuration.ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ToString(); 2005-8中用 31 System.Configuration.ConnectionStringSettings i = System.Configuration.ConfigurationManager.ConnectionStrings["Northword2000"]; 32 } 33 }
本文轉載自(出處):http://www.cnblogs.com/weichao975/archive/2010/07/11/1775090.html