2011-09-16 152 views
3

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

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(); 
} 

不幸的是,我得到异常:

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

这将产生连接字符串:System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我可以使用VS2008服务器资源管理器中的设置成功地连接到这个数据库Dsn=mydatabase;uid=root使用这个连接字符串在我的C#代码也产生相同的异常。

我需要做什么才能成功连接到这个数据源在C#中?

+7

为什么不使用MySqlConnection而不是Odbc? –

+2

您是否尝试http://www.connectionstrings.com/进行指导? –

+2

其实它是IDBConnection接口 - 不是sql连接。 – tsells

回答

1

如果连接字符串正常,错误听起来像MySql ODBC驱动程序没有安装在机器上。在Windows上,有一个可用于查看驱动程序是否正常的ODBC小程序。我相信这是根据控制面板,管理工具,数据源(ODBC)。

我会首先检查是否使用Windows控制面板小程序安装了MySql的ODBC驱动程序。

可能需要重新安装/更新或全新安装ODBC驱动程序。这里有一个链接:

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

+0

是的,MySQL ODBC 5.1驱动程序已安装。 Visual Studio能够使用它连接到数据库,所以我认为它工作正常。重新安装没有任何区别。 – PaulH

+0

您可以从ODBC小程序连接或创建到数据源的连接吗? –

+0

是的。当我点击“测试”按钮时,我会看到一个“连接成功”的消息框。 – PaulH