链接器错误与libmsodbcsql-13.0.so.0.0阻止pyODBC到MS SQL连接。 CentOS 7

时间:2016-02-13 21:37:26

标签: python sql linux centos odbc

我正在尝试从python应用程序与pyodbc连接到MS SQL服务器。我安装了pyodbc和unixODBC,我尝试安装Linux的MS驱动程序。我认为问题是MS驱动程序缺少依赖关系,但尽管我已经知道安装了依赖项。因为Microsoft驱动程序无法通过yum安装,所以我必须wget并运行安装脚本。所以我确定我需要做一些手工工作才能解决下面缺少的链接。我不知道如何做到这一点,因为我是Linux上的新手。我也包含了我的配置文件以防万一。

当我跑...

 ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0

我得到以下内容......

/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0)

/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0)

linux-vdso.so.1 =>  (0x00007fff22b27000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f03de43f000)
libodbcinst.so.2 => /lib64/libodbcinst.so.2 (0x00007f03de22d000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f03de027000)
libgss.so.3 => not found
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f03ddd42000)
libcrypto.so.1.0.0 => not found
libssl.so.1.0.0 => not found
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f03dda39000)
....(THE REST ARE FOUND)

odbcinst.ini odbc.ini

欢迎任何帮助或建议。谢谢!

1 个答案:

答案 0 :(得分:2)

我记得我也有这个问题,但是一年多以前我再也无法访问该服务器了。

据我所知,这是一个版本不匹配。如果您看到grep输出,他们正在寻找libgss.so.3,libcrypto.so.1.0.0等。也许您的系统上安装了这些库的不同版本。

通过查看我的安装说明,看起来我通过创建(软)链接来修复问题"指向"我在我的系统上的库。而且 - 当然 - 我给这些链接提供了msodbc正在寻找的名称。是的......有点"粗鲁"但它对我有用。