Не удается подключиться к Teradata с помощью Python - PullRequest
0 голосов
/ 10 ноября 2019
import teradata
udaExec = teradata.UdaExec (appName="testconnec", version="1.0",logConsole=False) 
session = udaExec.connect(method="odbc", dsn="TeraDev",username="usename", password="password");

вышеуказанный код завершается с ошибкой : обратная связь (последний вызов был последним): файл "", строка 1, в файле "/home/hadoop/.local/lib/python2.7 / site-packages / teradata / udaexec.py ", строка 183, в файле connect ** args)) Файл" /home/hadoop/.local/lib/python2.7/site-packages/teradata/tdodbc.py", строка 421, в файл init init (odbcLibPath)" /home/hadoop/.local/lib/python2.7/site-packages/teradata/tdodbc.py ", строка 366, в initOdbcLibrary(odbcLibPath) Файл "/home/hadoop/.local/lib/python2.7/site-packages/teradata/tdodbc.py", строка 319, в файле initOdbcLibrary. odbc = ctypes.cdll.LoadLibrary (odbcLibPath) Файл "/ us /lib64 / python2.7 / ctypes / init .py ", строка 438, в LoadLibrary возвращает self._dlltype (name) файл" /usr/lib64/python2.7/ctypes/init .py ", строка 360, в init self._handle = _dlopen (self._name, mode) OSError: libodbc.so: не может открыть общий объектный файл: нет такого файла или каталога`

export ODBCINI=/opt/teradata/client/16.20/odbc_64/odbc.ini
export ODBCINST=/opt/teradata/client/16.20/odbc_64/odbcinst.ini
export LD_LIBRARY_PATH=/opt/teradata/client/16.20/odbc_64/lib

*** После регулировки выше enпеременная v ****

import teradata



udaExec=teradata.UdaExec(odbcLibPath="/opt/teradata/client/16.20/odbc_64/lib/libodbc.so",appName="testconnec", version="1.0",logConsole=False)

session = udaExec.connect(method="odbc", dsn="TeraDev",username="user", password="password", driver="Teradata Database ODBC Driver 16.20");


Error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/hadoop/.local/lib/python2.7/site-packages/teradata/udaexec.py", line 183, in connect
    **args))
  File "/home/hadoop/.local/lib/python2.7/site-packages/teradata/tdodbc.py", line 454, in __init__
    checkStatus(rc, hDbc=self.hDbc, method="SQLDriverConnectW")
  File "/home/hadoop/.local/lib/python2.7/site-packages/teradata/tdodbc.py", line 231, in checkStatus
    raise DatabaseError(i[2], u"[{}] {}".format(i[0], msg), i[0])
teradata.api.DatabaseError: (0, u'[IM002] [DataDirect][ODBC lib] Data source name not found and no default driver specified')
...