SqlConnectionString要填什么

What to fill into SqlConnectionString

我正在尝试将我的 C# 程序连接到一个 MySQL 数据库,它是 运行 在我的 OSX 上。我收到此错误消息:

System.Data.SqlClient.SqlException
"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)"

所以它找不到服务器,这意味着连接字符串中的某些内容一定是错误的。在这里:

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

我尝试使用服务器的端口而不是本地主机,但它也不起作用。 Studentenverwaltung 是我的数据库的名称。

有人可以帮我找出代码中的错误吗?谢谢?

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

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

尝试:

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

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

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

"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();
}