在 C# 中连接到 MySql 数据库
Posted
技术标签:
【中文标题】在 C# 中连接到 MySql 数据库【英文标题】:Connecting to MySql database in C# 【发布时间】:2011-11-18 23:10:17 【问题描述】:我有一个 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
我可以使用 VS2008 服务器资源管理器通过设置成功连接到这个数据库:
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#中成功连接到这个数据源?
【问题讨论】:
为什么不使用 MySqlConnection 而不是 Odbc? 您尝试connectionstrings.com 获得指导了吗? 其实是IDBConnection接口——不是sql连接。 @Jon Raynor - 是的,我从那里得到了原始连接字符串。 我从来没有让 odbc 工作;我最终使用了MySqlConnection
。
【参考方案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 能够使用它连接到数据库,所以我认为它工作正常。重新安装没有任何区别。 您可以从 ODBC 小程序连接或创建到您的数据源的连接吗? 是的。当我点击“测试”按钮时,我得到一个“连接成功”消息框。以上是关于在 C# 中连接到 MySql 数据库的主要内容,如果未能解决你的问题,请参考以下文章