通过 Python ODBC 连接到 mac 上的 Teradata

Connecting to Teradata on mac via Python ODBC

我已经成功完成了为 Python 2.7 安装 pyodbc 的过程,但是当我 运行 以下代码时:

cnx = pyodbc.connect("DRIVER={Teradata};DBCNAME=<DBCNAME>;DATABASE=<DB>;UID=%s;PWD=%s" % (username, password), autocommit=True, ANSI=True)

我收到以下错误:

pyodbc.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: unsafe use of relative (0) (SQLDriverConnect)')

注意:这与 this post 中出现的错误不同。 如果重要的话,我在 OS X El Capitan 10.13。

问题出在 OS X El Capitan 的系统完整性保护上。删除后错误消失,一切正常。要禁用 SIP,请按照此处底部的说明进行操作:http://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html