【问题标题】:How to resolve the "Error occurred while loading translation library" Linux ODBC connection issue?如何解决“加载翻译库时出错”Linux ODBC 连接问题?
【发布时间】:2014-12-04 21:32:03
【问题描述】:

在 Linux 客户端上安装 unixODBC 和 Netezza 驱动程序并根据文档配置 ~/.odbcinst.ini 和 ~/.odbc.ini 数据源后,尝试通过某些工具连接到 Netezza PureData 仓库可能会产生错误类似于:

(Error) ('HY000', '[HY000] [unixODBC]Error occurred while loading translation library (45) (SQLDriverConnect)')

例如,这是由 Python SQLAlchemy 库通过 RHEL7 机器上的 DBAPI 连接输出的(尽管已从其他发行版和其他工具报告)。

有谁知道正在发生的事情的细节以及如何正确解决它?

【问题讨论】:

    标签: linux odbc netezza


    【解决方案1】:

    额外信息:我遇到了与完全相同的错误消息类似的问题。

    原来我为[NetezzaSQL] 驱动程序设置了/etc/odbcinst.iniUnicodeTranslationOption=utf8

    还使用了错误的(32 位)驱动程序。

    用 /etc/odbcinst.ini 修复:

    [NetezzaSQL]
    Driver          = /opt/netezza/lib64/libnzodbc.so
    DebugLogging    = true
    LogPath         = /tmp
    Trace           = 0
    TraceAutoStop   = 0
    TraceFile       = /tmp/trace.log
    UsageCount      = 1
    

    【讨论】:

      【解决方案2】:

      解决此问题的一种方法是将以下行添加到 ~/.odbc.ini 文件的特定数据源部分:

      TranslationDLL=
      TranslationName=
      TranslationOption=
      

      我不知道这样做可能会产生什么其他影响(例如关于非英语错误消息或使用不寻常的字符编码)。

      【讨论】:

        【解决方案3】:

        在您的 odbc.ini 中将 UnicodeTranslationOption 设置为 UTF16 而不是 UTF8。确保它在 'odbcinst -j' 识别的 odbc.ini 中具有该设置,并且在您的主目录中还有一个名为 'odbc.ini' 的备用副本。最新的 netezza 文件似乎读取配置而不是隐藏文件 '.odbc.ini'

        【讨论】:

          【解决方案4】:

          您也可以enable Netezza ODBC debug log 找出详细的错误。在 odbcinst.ini 中,设置 DebugLogging = true

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-07-16
            • 2021-04-11
            • 2021-03-13
            • 1970-01-01
            相关资源
            最近更新 更多