我发现了这个错误:
" ObdcException未被用户代码"
处理
我不知道为什么会这样......
这是连接字符串:
<add name="MiniBoxConnection" connectionString="DRIVER={MySQL ODBC 5.1 Driver};Database=DATABASENAME;Server=SERVERNAME;UID=USER;PWD=PASS;"/>
我该如何解决这个问题?
我在本地主机开发,但数据库在线
找不到数据源的名称且未指定默认驱动程序
答案 0 :(得分:10)
您正尝试使用ODBC从.net代码连接到MySQL数据库。您的错误消息告诉您尚未创建适当命名的ODBC数据源对象(DSN)。如果需要,可以使用ODBC Data Source Adminstrator控制面板执行此操作。
如果我是你,我会使用Connector / 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 :(得分:2)
尝试连接并测试您的连接:
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);
}