如何以编程方式修改连接字符串?

时间:2010-12-28 17:10:30

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

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

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

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

2 个答案:

答案 0 :(得分:1)

  

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

使用向导时,Visual Studio会为您做出一大堆选择。假设您选择了数据集,则连接字符串存储在app.config connectionstrings部分中。在数据集的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

答案 1 :(得分:0)

试试这个 - 你已经在你发布的代码中有连接字符串的实际字符串 - 你需要做的就是用它来实现一个真正的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

End Sub