我是 Mac 新手,在尝试让 pyodbc 工作时遇到问题。我已经安装:
- 来自 https://downloads.teradata.com/download/connectivity/teradata-odbc-driver-for-mac-os-x 的 Teradata ODBC 驱动程序
- unixodbc 通过 brew
- pyodbc 通过 pip 安装
当我尝试使用以下连接字符串创建连接时:
pyodbc.connect('DRIVER={Teradata};DBCName=XXX;DATABASE=XXX;Authentication=TD2;UID=XXX;PWD=XXX')
我收到这个错误:
错误:(“01000”,“[01000] [unixODBC][驱动程序管理器]无法打开库“Teradata”:找不到文件(0)(SQLDriverConnect)”)
我不知道从这里去哪里。另外,我不确定它是否相关,但我正在使用 virtualenvwrapper 来创建我的 python 环境。
我看到了这个类似的问题(返回错误不同)。 Connect Python to Teradata in mac with pyodbc 并运行导出语句,但我仍然遇到同样的错误
最佳答案
我也遇到过同样的问题。我采取了以下措施并解决了问题(但不确定哪个措施真正解决了问题)。
重新配置 pyodbc 包。
通过Git安装pyodbc时,修改setup.py如下
elif sys.platform == 'darwin': # OS/X now ships with iODBC. settings['libraries'].append('iodbc') settings['libraries'].append('odbc')
设置odbc.ini 和库的环境变量
检查odbc目录通过
sudo find / -name odbc*.ini 2>/dev/null
然后将环境变量设置为(取决于您的 odbc 目录)
export ODBCINI=/Library/Application\ Support/teradata/client/15.10/odbc/odbc.ini export ODBCSYSINI=/Library/Application\ Support/teradata/client/15.10/odbc export LD_LIBRARY_PATH=/Library/Application\ Support/teradata/client/15.10/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/Library/Application\ Support/teradata/client/15.10/lib/:$LD_LIBRARY_PATH
关于teradata - 在 OS X 上使用 pyodbc 连接到 Teradata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692335/