【问题标题】:How to programmatically modify connection string?如何以编程方式修改连接字符串?
【发布时间】:2011-05-31 16:11:09
【问题描述】:

我在 Visual Studio 中使用通过 .net mysql 连接器绑定到 mysql 数据库的 datagridview。在我的 vb 应用程序中,我有一些文本字段,它们为构建我定义为的连接字符串提供了必要的字段:

Dim connectionString As String = "server=" + sqlHost.Text + ";User Id=" + sqlUser.Text + ";password=" + sqlPassword.Text + ";database=some_database;Persist Security Info=True" 

所以我想知道如何以编程方式将连接字符串设置为上面代码中定义的字符串。我也知道以这种方式存储这些信息是一种安全威胁,所以无论如何保护连接字符串的方法都是最有帮助的。提前致谢。

【问题讨论】:

  • 至于你的主要问题,我不知道你到底在问什么。您提供的代码 以编程方式设置连接字符串。你还想要什么?
  • 您是在问如何以编程方式修改 web.config 以存储字符串?您的代码构建了一个,只需在您的 mysql 连接器中使用它。
  • Siride 很抱歉我没有很好地解释自己。然而,我给出的代码并没有以编程方式设置连接字符串,而是用连接字符串定义了一个缓冲区。连接器对此字符串一无所知。最初,我使用数据源配置向导来指定连接字符串。但是,我要做的是将此连接字符串更改为我通过 vb 代码而不是配置向导提供的代码中定义的字符串。我希望这能解释得更清楚一点。感谢您有兴趣帮助我,非常感谢。
  • 我不知道真正的问题是什么,但也许 SqlConnectionStringBuilder 是你想要的。
  • 你试过在DataSource上设置connectionString吗?

标签: .net mysql vb.net visual-studio


【解决方案1】:

我使用数据源配置向导指定了连接字符串

当您使用向导时,Visual Studio 会为您提供一大堆选择。假设您选择数据集,则连接字符串存储在 app.config 连接字符串部分。在数据集的 XSD 中,将 Global.YourNameSpace.My.MySettings.Default.YourDataSetConnectionString 设置为 appsettings 键。

这就是为什么如果你不知道去哪里就很难找到它的原因。有很多方法可以改变连接,但一种方法是......

 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

     'TODO: This line of code loads data into the 'MusicDataSet.music_file' table. You can move,   or remove it, as needed.
    Me.Table1_TableAdapter.Connection = New MySql.Data.MySqlClient.MySqlConnection("server=" + sqlHost.Text + ";User Id=" + sqlUser.Text + ";password=" + sqlPassword.Text + ";database=some_database;Persist Security Info=True" )

    Me.Table1TableAdapter.Fill(Me.MyDataSet.Table1)


 End Sub

至于保护字符串,您可以使用内置的encryption technology

【讨论】:

  • 这行得通。还要感谢您提供的加密文档。
【解决方案2】:

试试这个 - 你已经在你发布的代码中拥有连接字符串的实际字符串 - 你需要做的就是将它用于实际的 sql 连接

Public Sub ConnectToSql()
Dim conn As New SqlClient.SqlConnection
Dim connectionString As String = "server=" + sqlHost.Text + ";User Id=" + sqlUser.Text + ";password=" + sqlPassword.Text + ";database=some_database;Persist Security Info=True"
conn.ConnectionString = connectionString 
Try
    conn.Open()
Catch ex As Exception
    MessageBox.Show("Failed to connect to data source")
Finally
    conn.Close()
End Try

结束子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多