在mac中使用pyodbc将Python连接到Teradata [英] Connect Python to Teradata in mac with pyodbc
问题描述
我成功地为 python 2.7 安装了 pyodbc 模块.但是,当输入以下代码连接teradata时,
导入pyodbcconn = pyodbc.connect('DRIVER={Teradata};DBCNAME=
我收到以下错误;
回溯(最近一次调用最后一次):文件",第 1 行,在pyodbc.connect('DRIVER={Teradata};DBCNAME=;UID=;PWD=;QUIETMODE=YES;')错误: ('00000', '[00000] [iODBC][Driver Manager]dlopen(/Library/Application Support/teradata/client/ODBC/lib/tdata.dylib, 6): 库未加载: libtdparse.dylib\n引用自:/Library/Application Support/teradata/client/ODBC/lib/tdata.dylib\n 原因:找不到图像 (0) (SQLDriverConnect)')
我该怎么做才能解决这个问题?有什么想法吗?
基本上 pyodbc 并不简单,并且为开发人员提供了足够好的调试时间.请按照以下步骤操作,
您可能已经完成了,然后只需验证
安装 iodbc for mac http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/下载
为 Mac OS X 安装 Teradata ODBC 驱动程序,http://downloads.teradata.com/download/connectivity/teradata-odbc-driver-for-mac-os-x
同时为 mac 安装 unixodbc,brew install unixodbc"
下载pyodbc源码,修改setup.py文件如下,
<块引用>
elif sys.platform == 'darwin':# OS/X 现在附带 iODBC.settings['libraries'].append('iodbc')settings['libraries'].append('odbc')
您将添加最后一行,包括用于构建的odbc"构建并安装pyodbc
- 为 mac 设置传统的 LD_LIBRARY_PATH 如下(我使用的是 TD 版本 15.00,你必须在安装时指向那个)
<块引用>
导出 DYLD_LIBRARY_PATH=/Library/Application\支持/teradata/client/ODBC/lib:/Library/Application\支持/teradata/client/15.00/lib/
- 导出 ODBCINI 路径
<块引用>
导出 ODBCINI=/Library/Application\支持/teradata/client/15.00/odbc/odbc.ini
现在pyodbc游标很高兴为你获取记录集
I successfully installed pyodbc module for python 2.7. However, when input the following code to connect to teradata,
import pyodbc
conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=<tdwc>;UID=<UID>;PWD=<UID>;QUIETMODE=YES;')
I got the following error;
Traceback (most recent call last): File "", line 1, in pyodbc.connect('DRIVER={Teradata};DBCNAME=;UID=;PWD=;QUIETMODE=YES;') Error: ('00000', '[00000] [iODBC][Driver Manager]dlopen(/Library/Application Support/teradata/client/ODBC/lib/tdata.dylib, 6): Library not loaded: libtdparse.dylib\n Referenced from: /Library/Application Support/teradata/client/ODBC/lib/tdata.dylib\n Reason: image not found (0) (SQLDriverConnect)')
What should I do to have this fixed? Any ideas?
Basically pyodbc is not straight forward and gives good enough debugging time for developers. Follow the below steps,
You might have done them already, then just verify
Install iodbc for mac http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/Downloads
Install Teradata ODBC Driver for Mac OS X, http://downloads.teradata.com/download/connectivity/teradata-odbc-driver-for-mac-os-x
Also install unixodbc for mac, "brew install unixodbc"
Download pyodbc source and change the setup.py file as below,
elif sys.platform == 'darwin': # OS/X now ships with iODBC. settings['libraries'].append('iodbc') settings['libraries'].append('odbc')
you will be adding the last line of including "odbc" for build Build and install pyodbc
- Setup the traditional LD_LIBRARY_PATH for mac as below ( I used TD version 15.00, you have to point to the one as you installed)
export DYLD_LIBRARY_PATH=/Library/Application\ Support/teradata/client/ODBC/lib:/Library/Application\ Support/teradata/client/15.00/lib/
- Export ODBCINI path
export ODBCINI=/Library/Application\ Support/teradata/client/15.00/odbc/odbc.ini
Now pyodbc cursor happily will fetch record sets for you
这篇关于在mac中使用pyodbc将Python连接到Teradata的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!