MySQL的连接字符串(asp.net中的C#)

时间:2014-05-28 12:10:33

标签: c# mysql asp.net odbc connection-string

我在asp.net中使用C#ODBC对象连接到另一台计算机上托管的MySQL服务器(在同一网络上)。

<%@ Import Namespace="System.Data.Odbc" %>
<html>
<body>
<script language="C#" runat="server">

protected void Page_Load(Object Src, EventArgs E) 
{
try
{
using(OdbcConnection connection = new OdbcConnection("DRIVER={MySQL ODBC 5.51.30 Driver};Database=test;Server=192.168.1.109;UID=Username;PWD=Password;"))
{
    connection.Open();
    using(OdbcCommand command = new OdbcCommand("SELECT * FROM tablename", 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 occurred: " + ex.Message);
}
}
</script>
</body>
</html>

我在运行代码时遇到此错误:

An error occurred: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我在Microsoft IIS服务器上托管此功能,并启用了ASP.net。我能否在修复此错误方面获得任何帮助?

链接到我的MySQL服务器的图像:http://i.stack.imgur.com/4NYCr.png

2 个答案:

答案 0 :(得分:0)

  

我能否在修复此错误方面获得任何帮助?

是的,你愿意。所以,你唯一的问题得到了回答。现在?请多想一想你的问题。

解决你的问题。

与往常一样,http://www.connectionstrings.com/是此主要资源;)您想知道一个地方连接线的任何内容。

对于MySQL(假设5.2),您可以在以下位置找到(对于ODBC)解决方案:

http://www.connectionstrings.com/mysql-connector-odbc-5-2/

现在,你的字符串看起来很好 - 所以我开始假设你有一个驱动程序问题。我会假设无论你在哪里运行它都没有 - 安装了ODBC驱动程序。

这样说:没有真正的理由使用ODBC(具有本机先决条件)而不是(托管)MySQL驱动程序?

如果你真的错过了ODBC驱动程序,你可以在http://www.mysql.com/products/connector/下载。但我真的不会在这里使用ODBC - 不能使用本机连接器。

答案 1 :(得分:0)

我认为您最好使用MySQlConnection以及MyqlCommand来满足您的需求: 例如:

 server = "localhost";
        database = "connectcsharptomysql";
        uid = "username";
        password = "password";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + 
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);