C# – 意外的身份validation方法mysql_native_passwordexception

我没有看到任何关于此的内容,但我一直在尝试用SQL数据库进行练习的最长时间。 我尝试过MSSQL并且感到很沮丧,所以我尝试了MySQL并且进一步了解了。 数据库似乎已启动并运行,我甚至进行了查询以创建表。 虽然在尝试连接Microsoft的C#Express版本时,我得到了例外:“意外的身份validation方法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 = ;"); 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; 

如果SevenObjects

 Host=myServerAddress;UserName=myUsername;Password=myPassword;Database=myDataBase; 

如果Devart

 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则设计用于它。