虽然有许多人对ADO.NET字符串的安全性表示怀疑,但在年复一年的不断发展中,他的安全性也在不断提高。保证ADO.NET字符串的安全性是完全有可能的,但前提是要深入理解到底什么是ADO.NET字符串,及他是怎么运作的。
连接字符串生成器的一个重载构造函数将 String 作为参数,这可让您提供部分连接字符串,然后通过用户输入使这部分连接字符串成为完整字符串。该部分连接字符串可以存储在配置文件中并在运行时进行检索。#t#
System.Configuration 命名空间允许通过编程方式访问配置文件(对 Web 应用程序使用 WebConfigurationManager,对 Windows 应用程序使用 ConfigurationManager)。有关使用连接字符串和配置文件的更多信息,请参见连接字符串和配置文件 (ADO.NET字符串)。
示例:
此示例演示如何从配置文件中检索部分连接字符串并通过设置 SqlConnectionStringBuilder 的 DataSource、UserID 和 Password 属性完成该连接字符串。配置文件定义如下
- 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