我没有看到任何关于此的内容,但我已经尝试了最长的时间来练习使用 SQL 数据库。我尝试了 MSSQL,但一直很沮丧,所以我尝试了 MySQL,并且更进一步。数据库似乎已启动并正在运行,我什至做了一个查询来制作一张表。虽然在尝试连接 Microsoft 的 C# Express 版本时出现异常:“意外的身份验证方法 mysql_native_password” 我知道密码是正确的。我什至引用了 MySQL.Data.dll。这是我的代码,我在 connection.Open() 上遇到异常。有人可以帮帮我吗?
public Form1()
{
MySqlConnection connection = new MySqlConnection("Data Source = localhost; Initial Catalog = MySQL55; Integrated Security = SSPI; User ID = root; Password = <REMOVED>;");
try
{
connection.Open();
}
finally
{
if (connection != null)
{
connection.Close();
}
}
}
最佳答案
您使用的是什么提供商? 如果您使用的是 MySQL Connecter .net,那么您的连接字符串应该类似于...
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
如果您使用的是 eInfoDesigns 提供程序,那么...
Data Source=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Command Logging=false;
如果有七个对象
Host=myServerAddress;UserName=myUsername;Password=myPassword;Database=myDataBase;
如果德瓦特
User ID=root;Password=myPassword;Host=localhost;Port=3306;Database=myDataBase; Direct=true;Protocol=TCP;Compress=false;Pooling=true;Min Pool Size=0;Max Pool Size=100;Connection Lifetime=0;
如果是MySQLDriverCS
Location=myServerAddress;Data Source=myDataBase;User ID=myUsername;Password=myPassword;Port=3306;Extended Properties="""";
如果是 MySql OLEDB
Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;
如果.Net OLEDB
Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;
如果 MySQl 连接器
Driver={MySQL ODBC 5.5 Driver};Server=localhost;Database=myDataBase; User=myUsername;Password=myPassword;Option=3;
可以在此处找到更多帮助 http://www.connectionstrings.com/mysql
使用 SQL Server 实际上要容易得多,因为它是内置的,而且 VS 旨在与它一起工作。
关于C# - 意外的身份验证方法 mysql_native_password 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094434/