我试图将我的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的名字。
有人可以帮助我发现我的代码中的错误吗?谢谢?
答案 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();
}