没有数据库名称的MySql ConnectionString在c#中创建数据库

时间:2014-05-15 11:15:50

标签: c# mysql database-connection

我有一种情况,我需要通过使用进入mysql server所需的连接字符串来创建一个MYSQL数据库。现在我已经使用了连接字符串和数据库名称。所以在这种情况下什么是连接字符串结构将我的创建数据库查询执行到mysql服务器。

我需要localtring的Connectionstring ..

请帮帮我..

2 个答案:

答案 0 :(得分:3)

您可以选择省略连接字符串中的database参数。这样做,您将获得与数据库服务器的连接,但您没有连接到任何特定数据库。

Example from MySQL documentation的一部分

MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;

//myConnectionString = "server=localhost;uid=root;pwd=12345;database=test;";
myConnectionString = "server=localhost;uid=root;pwd=12345;";

try
{
    conn = new MySql.Data.MySqlClient.MySqlConnection();
    conn.ConnectionString = myConnectionString;
    conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
    MessageBox.Show(ex.Message);
}

但您必须使用数据库名称来限定查询中的表或其他对象名称。

示例

select * from so.tbl_so_q23676633;

在上面的示例中,'so'是表'tbl_so_q23676633'的数据库限定符。

答案 1 :(得分:1)

使用OleDb可以实现这一目标。    // OleDb

    using System.Data.OleDb;
    OleDbConnection conn = new OleDbConnection(); 
    conn.ConnectionString = "Provider=MySqlProv; Data Source=ServerName; User id=UserName; Password=Secret";
    conn.Open(); 

了解更多信息MySQL Connection string without database 另一个有用的链接Types of MySQL connection strings