我该如何动态更改连接字符串

时间:2010-08-21 12:48:27

标签: .net vb.net sql-server-2005 connection-string database-connection

我正在使用vb.net和SQL Server 2005

我有一个项目,其中包含从数据库对象生成的数据库类。那就是我将一个数据集添加到项目中,并将数据库对象拖放到它上面。这个问题是我必须给出一个存储在代码中的连接字符串。这在开发应用程序时是可以的。但是运行时我想使用另一个连接字符串,这是出于安全原因,并且因为应用程序的每个用户都对应一个数据库用户(SQL)并且应该有一个相应的连接字符串。有没有一种简单的方法可以做到这一点,而无需恢复所有数据集,并自己完成所有工作?

2 个答案:

答案 0 :(得分:2)

将您的连接字符串存储在app.settings

http://msdn.microsoft.com/en-us/library/a65txexh(VS.80).aspx

您可以将文件添加到应用程序调用app.settings。在这里,您可以存储连接字符串(它们可以加密)。要访问它们,您只需调用以下

Dim con As String = ConfigurationManager.ConnectionStrings("myDb").ConnectionString

如果您必须使用不同的用户名和密码明确登录,请在应用程序登录时捕获用户名和密码。并以编程方式构建字符串。

这方面的一个例子可能是

  <connectionStrings>
    <add name="myDb" connectionString="MYSERVER;Initial Catalog=MYDB;Persist Security  
Info=True;User ID={username};Password={pwd}"/>
  </connectionStrings>

Dim con As String = ConfigurationManager.ConnectionStrings("myDb").ConnectionString
con = con.Replace("{username}",txtUserName.Text)
con = con.Replace("{pwd}",txtPassword.Text)

'now you can do something with con like hook it up to a dataset

答案 1 :(得分:0)