При подключении pypyodbc с teradata я получаю SQL_INVALID_HANDLE
ОС - Red Hat 4.4.7-17
Версия Python - 2.6.6
У меня нет прав администратора для установки pypyodbc, поэтому я скачал модуль, установил pythonpath и импортировал его.
Выполнен необходимый экспорт для указания модуля python, чтобы найти правильный libodbc.so
export LD_LIBRARY_PATH=/opt/teradata/client/15.10/odbc_64/lib/
export ODBCINST=/opt/teradata/client/ODBC_64/odbcinst.ini
export ODBCINI=/opt/teradata/client/ODBC_64/odbc.ini
использовал приведенный ниже код для создания соединения БД.
pypyodbc.connect("Driver={Teradata};DBCNAME=<DB>;UID=<UNAME>;PWD=<PASS>")
Строка соединения odbc, которую я использовал, правильная.Я проверил, используя следующий подход
/opt/teradata/client/15.10/bin/tdxodbc64 -C "Driver={Teradata};DBCNAME=<DB>;UID=<UNAME>;PWD=<PASS>"
** Примечание: ** Я не использую модуль python OradB teradata, потому что он работает с более поздней версией python, которую я не могу установить.
Ошибка
File "<stdin>", line 1, in <module>
File "<LOCAL_PATH>/pypyodbc.py", line 2421, in __init__
AllocateEnv()
File "<LOCAL_PATH>/pypyodbc.py", line 1000, in AllocateEnv
check_success(SQL_NULL_HANDLE, ret)
File "<LOCAL_PATH>/pypyodbc.py", line 990, in check_success
ctrl_err(SQL_HANDLE_ENV, ODBC_obj, ret, False)
File "<LOCAL_PATH>/pypyodbc.py", line 970, in ctrl_err
raise ProgrammingError('', 'SQL_INVALID_HANDLE')
pypyodbc.ProgrammingError: ('', 'SQL_INVALID_HANDLE')
Любое руководство по этому вопросу полезно