2012-04-10 14 views
1

我没有看到这个东西,但我一直在试图时间最长得到一些做法与SQL数据库。我尝试了MSSQL并且感到沮丧,所以我尝试了MySQL并进一步了解了一些。数据库似乎已经启动并且正在运行,我甚至做了一个查询来创建表。虽然当试图连接微软的C#Express版本时,我得到了一个例外:“意外认证方法mysql_native_password”我知道密码是正确的。我什至引用MySQL.Data.dll。这是我的代码,我在connection.Open()上得到异常。有人可以帮我吗?C# - 意外的认证方法mysql_native_password例外

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

回答

8

您使用的是什么提供程序? 如果你正在使用MySQL连接器.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; 

如果净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服务器,因为它是建立在和VS的设计与它合作。

+0

这种帮助,但现在我发现了一个未知的数据库错误。 – 2012-04-11 15:23:46