У меня странная проблема, когда я могу подключиться к Teradata с помощью VBA, но не могу подключиться через python из одного и того же драйвера Teradata.Teradata ODBC dreiver не подключается через python, но может подключаться через vba
Ниже приведен фрагмент кода:
1) VBA
connection_string = "Driver={Teradata};" & "DBCName=" & dsn_name & ";Database=" & database_name & "; User ID =" & user_name & ";Password=" & password
и я могу подключиться к Teradata успешно.
2) Python
import pyodbc
dsn_name="td_dev"
user_name="test"
password="test"
db = pyodbc.connect('DSN=' + dsn_name + ';UID='+ user_name +';PWD=' + password + ';')
это утверждение бросает меня ниже error-
('IM003', '[IM003] Specified driver could not be loaded due to system error 126
: The specified module could not be found. (Teradata, C:\\Program Files (x86)\\T
eradata\\Client\\13.10\\ODBC Driver for Teradata\\Lib\\tdata32.dll). (160) (SQLD
riverConnect)')
Я пробовал различные методы, такие как: Повторная установка драйверов TD, настройка переменных окружения.
Но вопрос остается, как я могу подключиться через excel VBA, но не python.
С одной стороны, строки подключения разные. Можете ли вы подключиться к VBA, используя ту же самую строку соединения, которую вы пытаетесь использовать с Python (с указанием только 'DSN',' UID' и 'PWD')? –
Да, я могу подключиться через VBA с той же строкой соединения, что и в коде Python. – anurag
Проверьте, соответствует ли «битность» вашей копии Excel (32-разрядная или 64-разрядная версия) «бит» используемого интерпретатора Python. –