【问题标题】:Can't open lib '/usr/local/nz/lib/libnzsqlodbc3.so' : file not found (0) (SQLDriverConnect)")无法打开 lib '/usr/local/nz/lib/libnzsqlodbc3.so':找不到文件 (0) (SQLDriverConnect)")
【发布时间】:2020-03-25 08:52:42
【问题描述】:

我正在尝试使用 pyodbc 访问 IBM Netezza 数据库。我正在使用 unixODBC2.3.7

odbcinst.ini

[NetezzaSQL]
Driver           = /usr/local/nz/lib/libnzsqlodbc3.so
Setup            = /usr/local/nz/lib/libnzsqlodbc3.so
APILevel         = 1
ConnectFunctions = YYN
Description      = IBM Netezza ODBC driver
DriverODBCVer    = 03.51
DebugLogging     = false
LogPath          = /tmp
UnicodeTranslationOption = utf8
CharacterTranslationOption = all
PreFetch         = 256
Socket           = 16384

我收到此错误: pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]无法打开 lib '/usr/local/nz/lib/libnzsqlodbc3.so' : 找不到文件 (0) ( SQLDriverConnect)")

我尝试调试它,发现缺少共享库链接:libcom_err.so.2 => 未找到

ldd /usr/local/nz/lib/libnzsqlodbc3.so

linux-gate.so.1 (0xf7f9d000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7e1b000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7df8000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7df2000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7dd4000)
libssl.so.10 => /usr/local/nz/lib/libssl.so.10 (0xf7d71000)
libcrypto.so.10 => /usr/local/nz/lib/libcrypto.so.10 (0xf7bbe000)
libkrb5.so.3 => /usr/local/nz/lib/libkrb5.so.3 (0xf7b18000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf792b000)
/lib/ld-linux.so.2 (0xf7f9e000)
libgssapi_krb5.so.2 => /usr/local/nz/lib/libgssapi_krb5.so.2 (0xf78f0000)
libcom_err.so.2 => not found
libk5crypto.so.3 => /usr/local/nz/lib/libk5crypto.so.3 (0xf78bf000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf78a6000)
libcom_err.so.3 => /usr/local/nz/lib/../lib/libcom_err.so.3 (0xf78a3000)
libkrb5support.so.0 => /usr/local/nz/lib/../lib/libkrb5support.so.0 (0xf789a000)

【问题讨论】:

  • 你有什么问题?
  • @Ryuuk 的输出是什么:yum provides /lib/libcom_err.so.2
  • @mustaccio,我的问题是如何修复这个库链接。
  • @MarkBarinstein,“未找到匹配项”

标签: db2 ibm-cloud pyodbc netezza unixodbc


【解决方案1】:

尝试按照以下链接中的说明解决问题。
installing Puredata Linux client on RHEL 6.5 VM client

问题

Pureate INSTALL Linux Client for linux(运行 RHEL 6.x 的虚拟机

症状

在 64 位 Linux RHEL VM 上安装 32 位客户端原因

./nzds: 加载共享库时出错:libcom_err.so.2"。
libcom_err.so.2 => 未找到
libcom_err.so.3 => /usr/local/nz/bin/./../lib/../lib/libcom_err.so.3 (0x00d7e000)

环境

RHEL 6.x

诊断问题

yum 提供 libcom_err.so.2

解决问题

yum 安装 e2fsprogs-libs

【讨论】:

  • 其实我正在使用 nz-linuxclient-v7.2.1.9-P1.tar.gz,缺少的库是 libcom_err.so.2 而不是 libcom_err.so.3。我试图在 lib64 和 lib 中找到这个库,但我找不到。
  • 对不起,我的回复延迟,实际上我使用的最新版本有错误,所以我使用了另一个版本,它工作正常。谢谢
猜你喜欢
  • 2020-04-12
  • 2014-10-14
  • 2014-05-24
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 2013-12-19
相关资源
最近更新 更多