首页 > 解决方案 > 连接使用 VC++ 2013 构建的 mysql C++ 连接器时出现系统错误 126

问题描述

从 Windows ODBC 管理器进行“测试”连接时出现“系统错误 126”。

  1. 已安装 mysql 服务器 5.7
  2. 从 github 克隆的 mysql C++ 连接器代码(签出到 5.3 分支)。
  3. 已安装 MDAC 和 CMAKE 最新版本。
  4. 通过执行以下命令创建 VC++ 项目/解决方案。

    c:\mysql-connector-odbc>set MYSQL_DIR=c:\mysql-5.7.25-win32
    c:\mysql-connector-odbc>cmake -G "Visual Studio 12 2013" .
    
  5. 在 Visual Studio 2015 版本 14 中,构建了解决方案文件。(使用调试模式)

  6. 将所有 DLL(myodbc5a.dll用于 ANSI、myodbc5w.dllUNICODE 和myodbc5S.dll设置)和相应的 LIB 文件复制到系统文件夹C:\windows\system32

  7. 创建 Unicode 和 Ansi 驱动程序。验证驱动程序已安装在系统注册表中。

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers]

    myodbc-installer.exe -d -a -n "MySQL ODBC 5.3 Unicode Driver" -t "DRIVER=C:\mysql-connector-odbc\lib\Debug\myodbc5w.dll;SETUP=C:\mysql-connector-odbc\lib\Debug\myodbc5S.dll"
    
    myodbc-installer.exe -d -a -n "MySQL ODBC 5.3 Ansi Driver" -t "DRIVER=C:\mysql-connector-odbc\lib\Debug\myodbc5a.dll;SETUP=C:\mysql-connector-odbc\lib\Debug\myodbc5S.dll"
    
  8. 这里我给出了驱动的构建路径。在这种情况下,我可以获得 ODBC 配置屏幕。如果我在未指定驱动程序路径的情况下创建驱动程序(请参阅c:\windows\system32),则在 ODBC 管理器中添加/配置 DSN 时会收到系统错误 126。

    myodbc-installer.exe -d -a -n "MySQL ODBC 5.3 Unicode Driver" -t "DRIVER=myodbc5w.dll;SETUP=myodbc5S.dll"
    myodbc-installer.exe -d -a -n "MySQL ODBC 5.3 Ansi Driver" -t "DRIVER=myodbc5a.dll;SETUP=myodbc5S.dll"
    
  9. 在使用第 7 点创建驱动程序后,使用 ODBC 数据源管理器(32 位)创建了系统 DSN(testansi和)。testunicode

当我进行测试连接时,Windows 对话框中会出现以下错误消息。

由于系统错误 126,无法加载指定的驱动程序。找不到指定的模块。

(MYSQL ODBC 5.3 ANSI 驱动程序,c:\mysql-connector-odbc\lib\release\myodbc5a.dll)

测试连接失败。它应该通过。

标签: mysqlodbcdriver

解决方案


推荐阅读