MySQL连接字符串 C#

9

我遇到了这个错误:

"ObdcException was unhandled by user code"

enter image description here

我不知道为什么会出现这个错误...

这是连接字符串:

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

我该如何解决这个问题?

我在本地开发,但数据库是在线的。

数据源名称未找到,并且没有指定默认驱动程序。


在一个 try/catch 块中编写代码,捕获异常并查看其内容。 - Marc B
1
您介意将错误信息的其余部分翻译成英文吗? - Kirk Woll
1
请展示您的实际代码,以便我们可以查看。请勿粘贴图像。 - MethodMan
1
请查看以下链接,您的连接字符串似乎有些问题 https://www.connectionstrings.com/mysql/ 或者 https://dev59.com/-Wkv5IYBdhLWcg3wkBka - MethodMan
2个回答

14
你正在尝试使用ODBC连接从你的.NET代码连接到MySQL数据库。你的错误提示告诉你,你还没有创建一个名字合适的ODBC数据源对象(DSN)。如果需要,你可以使用ODBC数据源管理器控制面板来创建它。
如果我是你,我会使用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 */
                }
            }
        }
    }
}

5

尝试使用以下方法连接并测试您的连接:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接