我已经搜索了好几天了(包括尝试从这个站点的一个链接中找到解决方案),但我仍然无法让它工作...
问题:我在 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/