MySQL连接字符串C#

时间:2014-09-03 18:34:11

标签: c# mysql

我发现了这个错误:

" ObdcException未被用户代码"

处理

enter image description here

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

这是连接字符串:

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

我该如何解决这个问题?

我在本地主机开发,但数据库在线

找不到数据源的名称且未指定默认驱动程序

2 个答案:

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