Системная ошибка 126 при подключении MySQL C ++ соединителя, построенного с VC ++ 2013 - PullRequest
0 голосов
/ 07 февраля 2019

Получение «системной ошибки 126» при выполнении «Тестового» соединения из диспетчера ODBC Windows.

  1. установлен сервер mysql 5.7
  2. код соединителя mysql C ++, клонированный из github (извлечение в ветку 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.dll для UNICODE и 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), при добавлении / настройке DSN в диспетчере ODBC появляется системная ошибка 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. Создан системный DSN (testansi и testunicode) с использованием ODBC Data Source Administrator (32 бита) после создания драйвера с точкой 7.

Когда я выполняю тестовое соединение, в диалоговом окне Windows появляется следующее сообщение об ошибке.

Указанный драйвер не может быть загружен из-за системной ошибки 126. Указанный модуль не найден.

(Драйвер ANSI MYSQL ODBC 5.3, c: \ mysql-connector-odbc \ lib \ release \ myodbc5a.dll)

Сбой проверки соединения.Это должно пройти.

...