2014-09-03 176 views
3

我有此错误:MySQL连接字符串C#

“ObdcException是由用户代码未处理的”

enter image description here

我不知道为什么会这样......

这是连接字符串:

<add name="MiniBoxConnection" connectionString="DRIVER={MySQL ODBC 5.1 Driver};Database=DATABASENAME;Server=SERVERNAME;UID=USER;PWD=PASS;"/> 

我该如何解决这个问题?

我在本地主机发展,但数据库联机

数据源的名称没有被发现,并没有指定默认驱动程序

+0

这样的东西在try/catch块,catche的例外,看看它说。 – 2014-09-03 18:36:16

+1

你介意把错误信息的其余部分翻译成英文吗? – 2014-09-03 18:36:21

+1

显示您的实际代码,以便我们可以看到不粘贴图片,请 – MethodMan 2014-09-03 18:39:20

回答

8

你试图连接到你的MySQL有数据库从.net代码使用ODBC。您的错误消息告诉您,您尚未创建适当名称的ODBC数据源对象(DSN)。如果需要,可以使用ODBC数据源管理员控制面板完成此操作。

如果我是你,我会用连接器/ NET,而不是ODBC。它表现更好,而且正确配置并不是那么痛苦。

你可以在这里下载安装包吧。 http://dev.mysql.com/downloads/connector/net/

你需要改变你的代码这一点。但是,这是值得的!认真!你的代码最终会看起来像这样。

using System; 
//etc etc 
using MySql.Data.MySqlClient; 
//etc etc 

namespace myapp 
{ 
    class Myclass 
    { 
     static void Mymethod(string[] args) 
     { 
      string connStr = "server=server;user=user;database=db;password=*****;"; 
      MySqlConnection conn = new MySqlConnection(connStr); 
      conn.Open(); 

      string sql = "SELECT this FROM that"; 
      MySqlCommand cmd = new MySqlCommand(sql, conn); 
      using (MySqlDataReader rdr = cmd.ExecuteReader()) { 
       while (rdr.Read()) { 
        /* iterate once per row */ 
       } 
      } 
     } 
    } 
} 
1

试试这个连接和测试连接:

MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder(); 
conn_string.Server = "127.0.0.1"; 
conn_string.UserID = "sa"; 
conn_string.Password = "myPassword"; 
conn_string.Database = "myDatabase"; 


MySqlConnection MyCon = new MySqlConnection(conn_string.ToString()); 


try 
{ 
    MyCon.Open(); 
    MessageBox.Show("Open"); 
    MyCon.Close(); 
    MessageBox.Show("Close"); 
} 
catch(Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
}