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

Python libmsodbcsql-13.0.so.0.0的链接器错误阻止pyODBC到MS SQL的连接。CentOS 7,python,sql,linux,centos,odbc,Python,Sql,Linux,Centos,Odbc,我正在尝试从带有pyodbc的python应用程序连接到MS SQL server。我已经安装了pyodbc和unixODBC,并尝试为linux安装MS驱动程序。我认为问题在于MS驱动程序缺少依赖项,但我能说的是依赖项已经安装。由于无法通过yum安装Microsoft驱动程序,我必须wget并运行安装脚本。因此,我肯定有一些手动工作,我必须做得到的链接丢失以下解决。我不知道如何做到这一点,因为我是Linux上的新手。我也包括了我的配置文件,以防万一 当我跑的时候 ldd /opt/micro

我正在尝试从带有pyodbc的python应用程序连接到MS SQL server。我已经安装了pyodbc和unixODBC,并尝试为linux安装MS驱动程序。我认为问题在于MS驱动程序缺少依赖项,但我能说的是依赖项已经安装。由于无法通过yum安装Microsoft驱动程序,我必须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)


欢迎提供任何帮助或建议。谢谢大家!

我记得我也有这个问题,但那是一年多以前的事了,我再也不能访问那个服务器了

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


通过查看我的安装说明,看起来我通过创建(软)链接“指向”系统上的库解决了这个问题。当然,我给这些链接起了msodbc想要的名字。对有点“粗鲁”,但对我有用。

你的屏幕截图不可读。您不能像处理
ldd
输出那样将错误消息复制/粘贴到Q中吗。很好,luc,。我认为您正在使用不兼容版本的unixODBC for msodbcsql。检查命令
odbc\u config--version
是否返回msodbcsql的预期版本。感谢确认。这就是我要去的方向。快速提问。我是否在二进制文件查找文件的位置创建软链接?那么在我的例子中,它是否进入/lib64/libstdc++.So.6并重定向到实际版本所在的位置?任何可能的ln-s命令样本让我开始。谢谢。我无法在该服务器上的/lib或/usr/lib下创建软链接(安全限制,并且我没有根密码)。所以我在我的home dir(
${home}/mslib/
)下的一个目录中创建了这些软链接,并将此目录添加到我的LD_LIBRARY_PATH…示例命令:
mkdir$home/mslib
然后
ln-s/usr/libgss-3.0.0$home/mslib/libgss-2.8.0
(我不记得版本号,我只是在这里写了随机数)。最后,将新的LIB目录放在其他目录之前:
export LD\u LIBRARY\u PATH=${HOME}/mslib:${LD\u LIBRARY\u PATH}