1

我最近从经典的 ASP 跳到了 ASP.Net,但我无法连接到我的测试数据库。

我正在使用 Visual Studio 2012 和 MySQL 5.6,我正在关注教程。

我创建了一个 UDL 文件,其中测试连接成功,并且在我的应用程序中,我将以下内容添加到连接字符串(这与我在 UDL 中用于连接的字符串相同):

<connectionStrings>
   <add name="MyConn" connectionString="DRIVER={MySQL ODBC 5.2 Unicode Driver};Database=Zen;Server=localhost;UID=root;pwd=*****;" />
</connectionStrings>

这与我在创建 UDL 文件时使用的连接字符串相同。

我的应用程序在运行时抛出以下异常:

发生错误:错误 [IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序。

我不知道这是否会有所帮助,但我的cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Odbc;
using System.Configuration;
using MySql.Data;

namespace Zen
    {
    public partial class WebForm1 : System.Web.UI.Page
        {
        protected void Page_Load(object sender, EventArgs e)
        {
                try
                {
                    using(OdbcConnection connection = new OdbcConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString))
                {
                    connection.Open();
                    using(OdbcCommand command = new OdbcCommand("SELECT name FROM test_users", connection))
                    using(OdbcDataReader dr = command.ExecuteReader())
                    {
                        while(dr.Read())
                            Response.Write(dr["name"].ToString() + "<br />");
                        dr.Close();
                    }
                    connection.Close();
                }
            }
            catch(Exception ex)
            {
                Response.Write("An error occured: " + ex.Message);
            }

    }
}

}

4

1 回答 1

0

好的。我通过安装 32 位 MySQL ODBC 驱动程序解决了这个问题。

于 2013-07-26T06:04:53.053 回答