mySQL ODBC 5.1 问题 : Data source name not found and no default driver specified

标签 mysql visual-studio-2010 exception odbc driver

我已经搜索了好几天了(包括尝试从这个站点的一个链接中找到解决方案),但我仍然无法让它工作...

问题:我在 Windows 7 64 位机器上将旧的 Visual Studio 2005 项目转换为 2010。一切正常,包括我与 Oracle 数据库的 ODBC 连接……但是,我无法像在 WinXP 32 位机器上使用 VS 2005 那样连接到 mySQL 数据库。

我尝试过的方法:使用 32 位驱动程序卸载 MySQL 的 64 位 ODBC 驱动程序。我将其添加到我的系统 DSN,并且测试连接工作正常(来自 odbcad32.exe)。此驱动程序的所有其他实例都已从 odbcad32 和 64 位 odbc 客户端的用户 DSN 中删除。如果不访问此数据库,我将无法继续我的项目。我已经尝试了每个网站线程的所有方法,但仍然找不到解决方案。

我收到这个错误:

线程“” (0x1648) 已退出,代码为 0 (0x0)。 System.Data.dll 中发生类型为“System.Data.Odbc.OdbcException”的第一次机会异常 发生 ODBC 异常:错误 [IM002] [Microsoft] [ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 App_Web_uoi23wal.dll 中发生类型为“System.NullReferenceException”的第一次机会异常

这是我正在使用的连接字符串:

mySqlConnectionString = "Driver={MySQL ODBC 5.1 Driver};Server=xx.xxx.xx.xx;Port=3306;Database=xxxx;User=xxxx;Password=xxxx;";

谁能帮我解决这个问题?我不知道该怎么做! ;)

谢谢!

最佳答案

找不到其他解决此问题的人,但我尝试了这个并且都对我有用。原始帖子很旧,但如果有人阅读这篇文章,可能会为您提供解决方案。

"Driver={MySQL ODBC 5.2 ANSI Driver}; Server=localhost; Database=***; User=****; Password=****; Option=3;"
"Driver={MySQL ODBC 5.2 Unicode Driver}; Server=localhost; Database=***; User=****; Password=****; Option=3;"

似乎您必须实际指定“ANSI”或“UNICODE”字符串,而不是其他论坛和主题中建议的“w”或“a”。我认为它与 ODBC 数据源管理员菜单(控制面板 -> 系统 -> 管理工具 -> 数据源 (ODBC) -> 驱动程序)中的指定完全相同并非巧合

关于mySQL ODBC 5.1 问题 : Data source name not found and no default driver specified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14945151/

相关文章:

php - 使用 _POST 参数构建 SQL 查询

visual-studio - 为什么在运行我的应用程序时会遗漏一些引用?

java - 在Java中捕获先前方法(2)中的异常后,如何返回原因方法(1)?

Java异常处理: catch an exception thrown by an external dependency module

php - 以下是 mySQL 表搜索结果

mysql - 如何从列中删除回车符和换行符?

Mysql GROUP_CONCAT 和 IN 查询

c - C 结构 malloc 代码中的 VC++ 2010 错误

c# - 断言在 C# WPF 应用程序的 Visual Studio 2010 中不起作用

iphone - 防止应用程序崩溃