在我的 C# 程序中,如果 mysql 服务器上不存在,我需要创建几个 mysql 数据库。
所以我创建了一个到服务器的连接字符串:
add name="ServerConnection" connectionString="Server=localhost;Port=7070;uid=root;password=pass;" providerName="MySql.Data.MySqlClient"/>
创建数据库后,如何使用现有连接连接到其中一个数据库?
mysql服务器上的每个数据库都应该有一个连接字符串吗?
谢谢
最佳答案
不,您不需要在配置文件中为每个需要创建的数据库创建单独的连接字符串。
您可以使用位于常用命名空间 MySql.Data.MySqlClient
中的名为 MySqlConnectionStringBuilder
的不太知名的类。
此类允许指定连接字符串所需的任何单个键/值对。
它还接受一个先前的连接字符串作为构造函数参数,该连接字符串在内部拆分为各种键/值对,然后将这些键/值对公开为 MySqlConnectionStringBuilder
实例的属性。< br/>
这允许更改一个属性(例如数据库),然后使用更新后的值重建连接字符串。
例如你可以这样写
MySqlConnectionStringBuidler mcb = new MySqlConnectionStringBuilder("yourinitialconnectionstring");
mcb.Database = "yournewdatabasename";
string newConnString = mcb.GetConnectionString(true);
using(MySqlConnection cnn = new MySqlConnection(newConnString))
{
......
}
如果您希望返回的连接字符串包含密码,则对 GetConnectionString
的最终调用需要将 bool 值设置为 true。
(示例基于MySql Provider 6.3.6)
关于c# - Mysql连接到服务器没有任何数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26958908/