KB: подключение MySQL DbLib использует учетные данные Windows вместо настроенной аутентификации MySQL

Altium Designer Altium Designer
В некоторых случаях подключения Altium Designer DbLib или SVNDbLib к MySQL могут пытаться пройти аутентификацию с использованием текущей учетной записи пользователя Windows вместо настроенных учетных данных MySQL. Это может приводить к неудачным проверкам подключения, ошибкам аутентификации после повторного открытия диалогового окна подключения или к тому, что в журналах MySQL отображаются попытки входа с использованием учетной записи Windows. Обычно эта проблема возникает, когда учетные данные MySQL некорректно сохраняются источником данных ODBC. Настройка 64-разрядного системного DSN с правильно заданными учетными данными обеспечивает доступность необходимых учетных данных MySQL для подключения и предотвращает возврат к аутентификации в контексте пользователя Windows.

Подробности решения

Попытки аутентификации выполняются с использованием неверной учетной записи

Может наблюдаться один или несколько из следующих симптомов:

  • Проверка соединения завершается ошибкой, если каждый раз заново не вводить имя пользователя и пароль.
  • Соединение временно работает, но после повторного открытия диалогового окна перестает работать.
  • Таблицы и схема видны, но при обычной работе аутентификация завершается ошибкой.
  • Журналы MySQL показывают попытки входа с использованием пользователя и домена Windows вместо учетной записи MySQL.
  • Один и тот же файл .DbLib и DSN на одном компьютере работают корректно, а на другом — нет.
  • Проверка соединения проходит успешно только в рамках текущего сеанса и не сохраняется.

Microsoft Data Link Error dialog showing connection test failure: provider initialization failed; MySQL ODBC 8.0 reports “Access denied for user ‘altium’@…de (using password: YES)”

Учетные данные не сохраняются в соединении

Такое поведение может возникать из-за взаимодействия между Altium Designer, MSDASQL и драйвером MySQL ODBC:

  • Altium Designer не сохраняет учетные данные базы данных. Значения, введенные в диалоговом окне подключения, доступны только в рамках текущего сеанса.
  • Подключения DbLib и SVNDbLib используют строку подключения OLE DB и при подключении к источникам данных ODBC обычно полагаются на поставщик ODBC Microsoft (MSDASQL).
  • Драйвер MySQL ODBC сохраняет учетные данные как часть конфигурации DSN.
  • Если DSN не сохраняет учетные данные должным образом, поставщик OLE DB не получает сведения о пользователе базы данных.
  • Если пользователь MySQL не указан, MSDASQL может переключиться на текущий контекст пользователя Windows.
  • MySQL не поддерживает интегрированную аутентификацию Windows, из-за чего аутентификация завершается ошибкой.
  • User DSNsболее подвержены проблемам с разрешениями, политикам безопасности, проблемам сохранения учетных данных и несоответствиям между 32- и 64-разрядными компонентами.
  • Возможность просматривать таблицы или схему не обязательно подтверждает, что последующие аутентифицированные операции будут успешными.

Настройте постоянный системный DSN

  • Используйте правильно настроенный 64-bit System DSN для MySQL.
  • Ссылайтесь на системный DSN из библиотеки баз данных вместо использования учетных данных, введенных только на время сеанса.
  • Избегайте использования User DSNs в корпоративных средах или средах с усиленными мерами безопасности.
  • Убедитесь, что драйвер ODBC, DSN и установленный Altium Designer являются 64-разрядными компонентами.

Создание и проверка системного DSN

  1. Откройте 64-разрядный администратор ODBC с правами администратора с помощью C:\Windows\System32\odbcad32.exe.
  2. Убедитесь, что используется именно 64-разрядный администратор ODBC, а не 32-разрядная версия.
  3. Выберите вкладку System DSN и нажмите Add.
  4. Выберите MySQL ODBC 8.0 Unicode Driver.Введите имя сервера MySQL, имя базы данных, имя пользователя MySQL и пароль MySQL.
  5. Выберите Test и сохраните DSN.
  6. Откройте файл .DbLib или .SVNDbLib в Altium Designer.
  7. Укажите настроенный System DSN и проверьте соединение.
  8. Закройте и снова откройте диалоговое окно подключения, затем повторно выполните проверку, чтобы убедиться в сохранении учетных данных.
  9. Убедитесь, что в журнале сервера MySQL отображается настроенная учетная запись MySQL, а не учетная запись Windows в формате DOMAIN\Username.

Дополнительные примечания

  • Для Altium Designer требуется совместимый 64-разрядный уровень доступа к базе данных.
  • Altium Designer по своей архитектуре не сохраняет учетные данные базы данных.
  • Повторный ввод учетных данных в Altium Designer позволяет выполнить только временную проверку соединения.
  • Учетные данные ODBC зависят от конкретного компьютера и должны быть настроены на каждой рабочей станции, на которой открывается файл .DbLib или .SVNDbLib.
  • Необязательно: при необходимости дополнительной диагностики проверьте записи реестра System DSN.
  • Если одна и та же библиотека работает на одном компьютере, но не работает на другом, сравните тип DSN, версию драйвера, разрядность драйвера и конфигурацию сохранения учетных данных.

Ссылки

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Content