简体   繁体   English

使用Pyodbc将Python连接到Mac中的Teradata

[英]Connect Python to Teradata in mac with pyodbc

I successfully installed pyodbc module for python 2.7. 我为python 2.7成功安装了pyodbc模块。 However, when input the following code to connect to teradata, 但是,当输入以下代码以连接到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)') 追溯(最近一次通话最近):文件“”,第1行,位于pyodbc.connect('DRIVER = {Teradata}; DBCNAME =; UID =; PWD =; QUIETMODE = YES;')错误:('00000',' [00000] [iODBC] [驱动程序管理器] 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)')

What should I do to have this fixed? 我应该怎么做才能解决此问题? Any ideas? 有任何想法吗?

Basically pyodbc is not straight forward and gives good enough debugging time for developers. 基本上,pyodbc并非一帆风顺,它为开发人员提供了足够的调试时间。 Follow the below steps, 请按照以下步骤操作,

You might have done them already, then just verify 您可能已经做过,然后验证

  1. Install iodbc for mac http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/Downloads 为Mac安装iodbc http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/Downloads

  2. Install Teradata ODBC Driver for Mac OS X, http://downloads.teradata.com/download/connectivity/teradata-odbc-driver-for-mac-os-x 安装适用于Mac OS X的Teradata ODBC驱动程序, http://downloads.teradata.com/download/connectivity/teradata-odbc-driver-for-mac-os-x

  3. Also install unixodbc for mac, “brew install unixodbc” 还要为Mac安装unixodbc,“简单安装unixodbc”

  4. Download pyodbc source and change the setup.py file as below, 下载pyodbc源,并如下更改setup.py文件,

  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 您将添加最后一行,包括“ odbc”以进行构建Build and install pyodbc

  1. 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) 如下设置Mac的传统LD_LIBRARY_PATH(我使用的是TD版本15.00,安装时必须指向该版本)

export DYLD_LIBRARY_PATH=/Library/Application\\ Support/teradata/client/ODBC/lib:/Library/Application\\ Support/teradata/client/15.00/lib/ 导出DYLD_LIBRARY_PATH = / Library / Application \\ Support / teradata / client / ODBC / lib:/ Library / Application \\ Support / teradata / client / 15.00 / lib /

  1. Export ODBCINI path 导出ODBCINI路径

export ODBCINI=/Library/Application\\ Support/teradata/client/15.00/odbc/odbc.ini 导出ODBCINI = / Library / Application \\ Support / teradata / client / 15.00 / odbc / odbc.ini

Now pyodbc cursor happily will fetch record sets for you 现在pyodbc光标会很高兴为您获取记录集

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM