pyodb c не использует учетные данные, предоставленные в 64-битном системном DSN - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь подключиться к базе данных SQL сервера, используя pyodb c и 64-битный системный DSN на Windows 7, но похоже, что учетные данные, которые я ввел при настройке DSN, не передаются вместе:

InterfaceError                            Traceback (most recent call last)
<ipython-input-11-adb6c4632d7c> in <module>
      1 import pyodbc
      2 
----> 3 conn = pyodbc.connect('DSN=14b64')

InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ''. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ''. (18456)")

Обратите внимание, что я проверил соединение при завершении настройки DSN, и оно успешно подключилось.

Когда я вручную ввожу учетные данные, я могу установить sh соединение без проблем.

conn = pyodbc.connect('DSN=14b64;UID=user;PWD=password')

Я попытался использовать 32-битный драйвер, но получил сообщение об ошибке несоответствия архитектуры, что вызвало мне попробовать 64-битный.

Error                                     Traceback (most recent call last)
<ipython-input-13-515f6d5c9b43> in <module>
      1 import pyodbc
      2 
----> 3 conn = pyodbc.connect('DSN=14b')

Error: ('IM014', '[IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application (0) (SQLDriverConnect)')

Я успешно использовал 64-битный системный DSN с pyodb c для подключения к базе данных Teradata, не указывая в параметрах ничего, кроме DSN.

...