我必须在我的代码(vb.net)中对数据库详细信息(用户ID,数据源,密码)进行硬编码,因为我正在使用SQL加载器概念将数据加载到临时表中。现在我想避开硬编码部分。
以下是代码。
processStartInfo.Arguments = "User ID@Data Source/password " & FilePath & ctlFileName "
现在我想从web.config向上一行提供数据库详细信息(用户ID,数据源,密码)。
我如何实现这一目标?
答案 0 :(得分:0)
始终将连接数据存储在相应部分(you can also encrypt it)
内的web.config中例如
<connectionStrings>
<add name="theConString"
connectionString="server=yourserver;database=yourdb;uid=username;password=pass;" />
</connectionStrings>
然后您可以使用
检索此数据Dim cnstr = WebConfigurationManager.ConnectionStrings("theConString").ConnectionString
最后,您可以将检索到的字符串传递给SqlConnectionStringBuilder以获取字符串的各个键
Dim builder = new SqlConnectionStringBuilder(cnstr)
Dim password = builder.Password
....etc...
(我不知道您使用的是哪个数据库,此示例适用于Sql Server,但其他提供程序具有用于解析或构建连接字符串的相同类)
根据您在下面的评论,您已将连接字符串信息存储在AppSetting部分中。这不是推荐的地方,但您也可以使用
从AppSettings中检索它Dim cnStr = WebConfigurationManager.AppSettings("youKeyName").ToString()