teradata - 在 OS X 上使用 pyodbc 连接到 Teradata

标签 teradata pyodbc unixodbc

我是 Mac 新手,在尝试让 pyodbc 工作时遇到问题。我已经安装:

当我尝试使用以下连接字符串创建连接时:

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/

相关文章:

php - "Adaptive Server is unavailable or does not exist"从 PHP 连接到 SQL Server 时出错

macos - 从 Mac 使用 Azure SQL 服务?

SQL : Splitting a column into multiple columns, 通过公共(public)字符串分隔符,其中字符串长度不均匀 (TD14)

python - 远程连接到 MS SQL - 使用 pyodbc 时出错与使用 SQL Server Management Studio 时成功

python - 在 Pandas Dataframe 上执行 SQL 并将结果存储在同一 Dataframe 中

python - 在 Ubuntu 上通过 pyODBC 连接到 Microsoft SQL Server

python - pyodbc 无法正确处理 unicode 数据

sql-server - 使用 Ruby、ODBC 和 FreeTDS 从 Mac 连接到 MS SQL Server 2005

database - 数据库中没有更多的假脱机空间

sql - 计算Teradata中2个日期之间的时间差