mysql - 连接使用 VC++ 2013 构建的 mysql C++ 连接器时出现系统错误 126
问题描述
从 Windows ODBC 管理器进行“测试”连接时出现“系统错误 126”。
- 已安装 mysql 服务器 5.7
- 从 github 克隆的 mysql C++ 连接器代码(签出到 5.3 分支)。
- 已安装 MDAC 和 CMAKE 最新版本。
通过执行以下命令创建 VC++ 项目/解决方案。
c:\mysql-connector-odbc>set MYSQL_DIR=c:\mysql-5.7.25-win32 c:\mysql-connector-odbc>cmake -G "Visual Studio 12 2013" .
在 Visual Studio 2015 版本 14 中,构建了解决方案文件。(使用调试模式)
将所有 DLL(
myodbc5a.dll
用于 ANSI、myodbc5w.dll
UNICODE 和myodbc5S.dll
设置)和相应的 LIB 文件复制到系统文件夹C:\windows\system32
。创建 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"
这里我给出了驱动的构建路径。在这种情况下,我可以获得 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"
在使用第 7 点创建驱动程序后,使用 ODBC 数据源管理器(32 位)创建了系统 DSN(
testansi
和)。testunicode
当我进行测试连接时,Windows 对话框中会出现以下错误消息。
由于系统错误 126,无法加载指定的驱动程序。找不到指定的模块。
(MYSQL ODBC 5.3 ANSI 驱动程序,c:\mysql-connector-odbc\lib\release\myodbc5a.dll)
测试连接失败。它应该通过。
解决方案
推荐阅读
- magento2 - 状态码:安装 Magento-2 后出现 500 错误。我无法查看我的主页,也无法登录到后端
- lua - 如何在路由请求之前从 haproxy 中的 lua 发送 https 请求?
- data-structures - 展开树中的有序继任者和前任者
- reactjs - 如何让 KeycloakProvider 包装 next-redux-wrapper?
- spring-jdbc - 使用带参数的 SET_JSON 时,NamedParameterJdbcTemplate 语法错误
- reactjs - 托管在通过 Azure Front Door 访问的存储帐户上的静态网站未正确加载
- javascript - Electron - 自动更新程序:有没有办法只安装更新的功能而不是重新安装整个应用程序
- sql - 基于 Groupby 字段的多个实例获取平均值(DateDiff)
- javascript - Jest 和 Create-react-app:不能在模块外使用 import 语句
- python - 有没有办法在 tf >= 2.4 的 GPU 上运行 tf.data API