我最近从经典的 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);
}
}
}
}