C# - 意外的身份验证方法mysql_native_password异常

时间:2012-04-10 18:35:05

标签: c# mysql exception connection

我没有看到任何内容,但我一直在尝试用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();
            }
        }
     }

1 个答案:

答案 0 :(得分:9)

您使用的是什么提供商? 如果您使用的是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.VI旨在使用它。