在我的程序C#程序中,如果mysql服务器上不存在数据库,我需要创建几个mysql数据库。
因此,我创建了一个到服务器的连接字符串:
add name="ServerConnection" connectionString="Server=localhost;Port=7070;uid=root;password=pass;" providerName="MySql.Data.MySqlClient"/>创建数据库后,如何使用现有连接连接到其中一个数据库?
mysql服务器上的每个数据库应该有一个连接字符串吗?
谢谢
发布于 2014-11-16 16:13:10
不,不需要为需要创建的每个数据库在配置文件中创建单独的连接字符串。
您可以使用通常命名空间MySqlConnectionStringBuilder中的名为MySql.Data.MySqlClient的类,这个类不是很出名。
该类允许指定连接字符串所需的任何单个键/值对。
它还接受前一个连接字符串作为构造函数参数,该连接字符串在各个键/值对中内部拆分,然后将这些键/值对公开为MySqlConnectionStringBuilder实例的属性。
这允许更改一个属性(例如数据库),然后使用更新的值重新生成连接字符串。
所以,例如,你可以写
MySqlConnectionStringBuidler mcb = new MySqlConnectionStringBuilder("yourinitialconnectionstring");
mcb.Database = "yournewdatabasename";
string newConnString = mcb.GetConnectionString(true);
using(MySqlConnection cnn = new MySqlConnection(newConnString))
{
......
}如果希望返回的连接字符串包含密码,则对GetConnectionString的最后调用需要将布尔值设置为true。
(基于MySql提供者6.3.6的示例)
https://stackoverflow.com/questions/26958908
复制相似问题