在C#中连接到MySql数据库

3

我有一个使用Visual Studio 2008 C# .NET 3.5开发的应用程序,我正在尝试使用System.Data.Odbc连接到一个MySQL 5.1.53本地数据库。

using (System.Data.Odbc.OdbcConnection c = new System.Data.Odbc.OdbcConnection("Driver ={MySQL ODBC 5.1 Driver}; Server =localhost; Database =mydatabase; User =root; Option =3; "))
{
    c.Open();
}

不幸的是,我遇到了异常:System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

使用以下设置,我可以成功地连接到此数据库:

Data source: .NET Framework Data Provider for ODBC
Use user or system data source name: mydatabase
User name: root

这会生成连接字符串:Dsn=mydatabase;uid=root 在我的C#代码中使用这个连接字符串也会产生相同的异常。 我需要做什么才能在C#中成功连接到这个数据源?

7
为何不使用MySqlConnection而使用Odbc呢? - Darin Dimitrov
2
你尝试过访问http://www.connectionstrings.com/获取指导吗? - Jon Raynor
2
其实它是IDBConnection接口 - 不是SQL连接。 - tsells
@Jon Raynor - 是的,我从那里得到了原始的连接字符串。 - PaulH
@Mike Atlas和Darin Dimitrov - 我想我能做到。System.Data.Odbc很好,因为它内置于.NET中。我不必捆绑额外的DLL或下载其他东西。所以,如果应该工作,我想知道为什么它不起作用。 - PaulH
1
我从来没有成功地使用ODBC,最终我使用了MySqlConnection - PaulH
1个回答

1
如果连接字符串没问题,那么错误可能是因为机器上没有安装MySql ODBC驱动程序。在Windows上,有一个ODBC小程序可以用来检查驱动程序是否正常。我相信这个小程序在“控制面板、管理工具、数据源(ODBC)”下面。
我首先会使用Windows控制面板小程序检查是否安装了MySql的ODBC驱动程序。
可能需要重新安装/更新或者进行全新安装ODBC驱动程序。这里是一个链接:

http://dev.mysql.com/doc/refman/5.0/en/connector-odbc.html


是的,MySQL ODBC 5.1驱动程序已安装。Visual Studio能够使用它连接到数据库,因此我认为它正常工作。重新安装没有任何改变。 - PaulH
你能够从ODBC小程序连接或创建到你的数据源的连接吗? - Jon Raynor
是的。当我点击“测试”按钮时,会弹出一个“连接成功”的消息框。 - PaulH

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