python - 无法使用 Python 连接到 Teradata
问题描述
import teradata
udaExec = teradata.UdaExec (appName="testconnec", version="1.0",logConsole=False)
session = udaExec.connect(method="odbc", dsn="TeraDev",username="usename", password="password");
上面的代码失败并出现错误: Traceback(最近一次调用最后一次):文件“”,第 1 行,在文件“/home/hadoop/.local/lib/python2.7/site-packages/teradata/udaexec.py”中,第 183 行,在连接 **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 行,在 init initOdbcLibrary(odbcLibPath) 文件“/home/hadoop/.local/lib/python2.7/site- packages/teradata/tdodbc.py”,第 319 行,在 initOdbcLibrary 中 odbc = ctypes.cdll.LoadLibrary(odbcLibPath) 文件“/usr/lib64/python2.7/ctypes/init .py ”,第 438 行,在 LoadLibrary 中返回 self。_dlltype(名称)文件“/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
***调整以上环境变量后***
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')
解决方案
推荐阅读
- python - TensorFlow GAN 示例意外退出
- php - php open and close tag and scope syntax
- c++ - 函数应该接受任何容器,但返回容器内的类型列表
- javascript - Custom GraphQL schema in Strapi#beta.3 is not working
- javascript - Gutenberg editor scroll block into view
- jquery - JQuery .show() and .explode() Move the DIV Away
- c++ - 链接列表的创建
- jess - Protege 中的 JessTab
- php - query for selecting all orders with php
- javascript - How to fix "TypeError: Object(...) is not a function" when using a wrap function on React Component to authenticate user login with Browser Router