【问题标题】:mySQL ODBC 5.1 issue: Data source name not found and no default driver specifiedmySQL ODBC 5.1 问题:未找到数据源名称且未指定默认驱动程序
【发布时间】:2013-02-03 09:44:38
【问题描述】:

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

问题:我在 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;";

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

谢谢!

【问题讨论】:

  • 您可以在此处获取 64 位驱动程序 dev.mysql.com/downloads/connector/odbc
  • 大家好。我已经尝试过您发布的链接。没有一个建议对我有用。此外,64 位驱动程序是我尝试的第一件事,但我无法让它工作。 Naveen 发布的链接正是我今天早些时候尝试的,即使使用 32 位驱动程序,我仍然收到此错误。
  • 您能否在新的 Win7 框中打开“ODBC 管理员”控制面板选项并检查确切的 mysql ODBC 驱动程序名称(它将在“驱动程序”选项卡中列出)。有人告诉我,它会被称为MySQL ODBC 5.2 Driver}.....
  • 它读取“MySQL ODBC 5.1 驱动程序”。

标签: mysql visual-studio-2010 exception odbc driver


【解决方案1】:

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

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

【讨论】:

  • 您好,我尝试将 ANSI 和 UNICODE 都添加到连接字符串中,但仍然无法正常工作。 (控制面板 -> 系统 -> 管理工具 -> 数据源 (ODBC) -> 驱动程序)下的文本为“MySQL ODBC 5.1 驱动程序”。
  • 我记得 5.1 可以在没有任何注释的情况下工作,所以“MySQL ODBC 5.1 Driver”这一行应该可以工作。这似乎是一个新的 5.2 东西。
【解决方案2】:

这在 MySQL 5.1 上对我有用

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

【讨论】:

    猜你喜欢
    • 2012-03-12
    • 2011-11-24
    • 2011-06-02
    • 2018-07-10
    • 2011-07-30
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多