如何配置ADO.NET連接字符串
ADO.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹ADO.NET連接字符串,包括介紹從配置文件生成ADO.NET連接字符串等方面。如果事先知道連接字符串的某些元素,則可以將其存儲(chǔ)在配置文件中,并在運(yùn)行時(shí)檢索它們以構(gòu)造完整連接字符串。例如,可能事先知道數(shù)據(jù)庫(kù)的名稱,但不知道服務(wù)器的名稱?;蛘?,您可能希望用戶在運(yùn)行時(shí)提供用戶名和密碼,而不能在連接字符串中插入其他值。
#T#連接字符串生成器的一個(gè)重載構(gòu)造函數(shù)將String作為參數(shù),這可讓您提供部分連接字符串,然后通過(guò)用戶輸入使這部分連接字符串成為完整字符串。該部分連接字符串可以存儲(chǔ)在配置文件中并在運(yùn)行時(shí)進(jìn)行檢索。System.Configuration命名空間允許通過(guò)編程方式訪問(wèn)配置文件(對(duì)Web應(yīng)用程序使用WebConfigurationManager,對(duì)Windows應(yīng)用程序使用ConfigurationManager)。有關(guān)使用ADO.NET連接字符串和配置文件的更多信息,請(qǐng)參見(jiàn)連接字符串和配置文件(ADO.NET)。
此示例演示如何從配置文件中檢索部分連接字符串并通過(guò)設(shè)置SqlConnectionStringBuilder的DataSource、UserID和Password屬性完成該連接字符串。配置文件定義如下。
- <connectionStrings>
- <clear/>
- <addnameaddname="partialConnectString"
- connectionString="InitialCatalog=Northwind;"
- providerName="System.Data.SqlClient"/>
- </connectionStrings>
必須在項(xiàng)目中設(shè)置對(duì)System.Configuration.dll的引用,才能運(yùn)行代碼。
VisualBasic
- PrivateSubBuildConnectionString(ByValdataSourceAsString,_
- ByValuserNameAsString,ByValuserPasswordAsString)
- 'RetrievethepartialconnectionstringnameddatabaseConnection
- 'fromtheapplication'sapp.configorweb.configfile.
- DimsettingsAsConnectionStringSettings=_
- ConfigurationManager.ConnectionStrings("partialConnectString")
- IfNotsettingsIsNothingThen
- 'Retrievethepartialconnectionstring.
- DimconnectStringAsString=settings.ConnectionString
- Console.WriteLine("Original:{0}",connectString)
- 'CreateanewSqlConnectionStringBuilderbasedonthe
- 'partialconnectionstringretrievedfromtheconfigfile.
- DimbuilderAsNewSqlConnectionStringBuilder(connectString)
- 'Supplytheadditionalvalues.
- builder.DataSource=dataSource
- builder.UserID=userName
- builder.Password=userPassword
- Console.WriteLine("Modified:{0}",builder.ConnectionString)
- EndIf
- EndSub
C#
- privatestaticvoidBuildConnectionString(stringdataSource,
- stringuserName,stringuserPassword)
- {
- //RetrievethepartialconnectionstringnameddatabaseConnection
- //fromtheapplication'sapp.configorweb.configfile.
- ConnectionStringSettingssettings=
- ConfigurationManager.ConnectionStrings["partialConnectString"];
- if(null!=settings)
- {
- //Retrievethepartialconnectionstring.
- stringconnectString=settings.ConnectionString;
- Console.WriteLine("Original:{0}",connectString);
- //CreateanewSqlConnectionStringBuilderbasedonthe
- //partialconnectionstringretrievedfromtheconfigfile.
- SqlConnectionStringBuilderbuilder=
- newSqlConnectionStringBuilder(connectString);
- //Supplytheadditionalvalues.
- builder.DataSource=dataSource;
- builder.UserID=userName;
- builder.Password=userPassword;
- Console.WriteLine("Modified:{0}",builder.ConnectionString);
- }
- }