在数据库中存储连接字符串并在应用程序启动时检索它

时间:2013-11-28 06:56:19

标签: c# mysql sql sql-server

我正在VS 2010中开发一个winforms应用程序,用于将数据从Sql Server或MySql转发到Sql Server或MySql。

我的设计是这样的。

Application Screenshot

所以这里我将连接字符串的所有值存储在单独的列中的Sql Server数据库表中。

我能够获取必需的字段并验证它们,测试它们并将其存储在数据库中但我仍然坚持如何在运行时获取存储的连接字符串以及如何使用最后选择的连接字符串?

请指导。

1 个答案:

答案 0 :(得分:2)

你的配置文件可能有一个像这样的connectionStrings部分:

<connectionStrings>
    <add name="ConnectionNumberOne"
        connectionString="Data Source=ds;Initial Catalog=DB;Integrated Security=True"
        providerName="System.Data.SqlClient" />
    <add name="ConnectionNumberTwo"
        connectionString="Data Source=ds2;Initial Catalog=DB2;Integrated Security=True"
        providerName="System.Data.SqlClient" />
</connectionStrings>

您可以这样读取连接字符串:

var connectionOne = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberOne"];
var connectionTwo = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionNumberTwo"];

您也可以保存连接字符串:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["ConnectionNumberOne"].ConnectionString = //CONCATINATE YOUR FIELDS TOGETHER HERE
config.Save(ConfigurationSaveMode.Modified, true);
ConfigurationManager.RefreshSection("connectionStrings");