1

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

问题:我在 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 驱动程序管理器] 未找到数据源名称并且未指定默认驱动程序 A App_Web_uoi23wal.dll 中出现“System.NullReferenceException”类型的第一次机会异常

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

mySqlConnectionString = "驱动={MySQL ODBC 5.1 驱动};服务器=xx.xxx.xx.xx;端口=3306;数据库=xxxx;用户=xxxx;密码=xxxx;";

谁能帮我解决这个问题?我已经黔驴技穷了!;)

谢谢!

4

2 回答 2

4

找不到其他人解决了这个问题,但我尝试了这个并且都为我工作。原帖很旧,但如果其他人读到这个,可能的解决方案。

"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) -> 驱动程序)中的完全一样并非巧合

于 2013-07-02T18:40:51.210 回答
0

这在 MySQL 5.1 上对我有用

数据源 (ODBC): - 用户 DSN:删除指定的用户 DSN - 系统 DSN:创建新的系统 DSN 确保您只有系统 DNS,而不是两者。

于 2016-11-25T04:17:00.947 回答