在mac中使用pyodbc将Python连接到Teradata [英] Connect Python to Teradata in mac with pyodbc

查看:37
本文介绍了在mac中使用pyodbc将Python连接到Teradata的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我成功地为 python 2.7 安装了 pyodbc 模块.但是,当输入以下代码连接teradata时,

导入pyodbcconn = pyodbc.connect('DRIVER={Teradata};DBCNAME=;UID=;PWD=;QUIETMODE=YES;')

我收到以下错误;

回溯(最近一次调用最后一次):文件",第 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 并不简单,并且为开发人员提供了足够好的调试时间.请按照以下步骤操作,

您可能已经完成了,然后只需验证

  1. 安装 iodbc for mac http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/下载

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

  3. 同时为 mac 安装 unixodbc,brew install unixodbc"

  4. 下载pyodbc源码,修改setup.py文件如下,

<块引用>

 elif sys.platform == 'darwin':# OS/X 现在附带 iODBC.settings['libraries'].append('iodbc')settings['libraries'].append('odbc')

您将添加最后一行,包括用于构建的odbc"构建并安装pyodbc

  1. 为 mac 设置传统的 LD_LIBRARY_PATH 如下(我使用的是 TD 版本 15.00,你必须在安装时指向那个)

<块引用>

导出 DYLD_LIBRARY_PATH=/Library/Application\支持/teradata/client/ODBC/lib:/Library/Application\支持/teradata/client/15.00/lib/

  1. 导出 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

  1. Install iodbc for mac 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

  3. Also install unixodbc for mac, "brew install unixodbc"

  4. 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

  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)

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

  1. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆