什么填入SqlConnectionString

时间:2018-05-27 14:05:14

标签: c# sqlconnection

我试图将我的C#-Program连接到我的OSX上运行的MySQL数据库。我收到了这个错误消息:

  

System.Data.SqlClient.SqlException
  "建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:TCP提供程序,错误:40 - 无法打开与SQL Server的连接)"

因此无法找到服务器,这意味着Connectionstring中的某些内容必定是错误的。在这里:

using(SqlConnection conn = new SqlConnection()) {
            conn.ConnectionString = "Server=localhost;DataBase=Studentenverwaltung;Trusted_Connection=true";
            conn.Open();
        }

我尝试使用服务器端口而不是localhost,但它也不起作用。 Studentenverwaltung是我的DB的名字。

有人可以帮助我发现我的代码中的错误吗?谢谢?

2 个答案:

答案 0 :(得分:3)

我认为你应该使用MySqlConnnection而不是SqlConnection

您的连接字符串需要包含用户名和密码,因为受信任的身份验证不起作用。

尝试:

using(MySqlConnection conn = new MySqlConnection()) {
    conn.ConnectionString = "Server=localhost:3306;DataBase=Studentenverwaltung;uid=username;pwd=password";
    conn.Open();
}

我没有MAC,但这就是我使用Windows的方式。

答案 1 :(得分:0)

你的连接字符串应该是这样的:

"Provider=MySQL Provider;server=localhost;User Id=MyID;password=MyPassword;database=MyDatabase;"

然后,在您的代码中:

 //Add MySql Library
    using MySql.Data.MySqlClient;

在你的方法中:

var connString = "Provider=MySQL Provider;server=localhost;User Id=MyID;password=MyPassword;database=MyDatabase;"
using (MySqlConnection conn = new MySqlConnection(connString)){
     conn.Open();
}