gpt4 book ai didi

ubuntu-18.04 - Ubuntu 18.04 和 msodbcsql17 : Can't open lib - SHOULD I FILE A BUG REPORT?

转载 作者:行者123 更新时间:2023-12-04 05:27:39 32 4
gpt4 key购买 nike

伙计们,我至少安装了几十次msodbcsql包。从来没有出现过这个问题。甚至昨天花了一整天试图解决这个问题。

第 1 步:将 apt key 和 repo 添加到 sourced.list.d第 2 步:apt-get 安装 msodbcsql17、mssql-tools、php odbc_pdo 扩展等第 3 步:创建一个非常基本的 test.php(在所有其他现有的旧服务器上工作)与我的 mssql 数据库建立测试连接。

失败:

SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1' : file not found

是的,该文件存在。

我已经尝试对文件进行 chmod 755,仍然说它不存在。

我对文件做了一个 ldd,这里是输出:

    linux-vdso.so.1 (0x00007ffe13bf8000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc1e865a000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc1e8452000)
libodbcinst.so.2 => /usr/lib/x86_64-linux-gnu/libodbcinst.so.2 (0x00007fc1e823d000)
libcrypto.so.1.0.2 => not found
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fc1e7f67000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fc1e7d1c000)
libssl.so.1.0.2 => not found
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fc1e7b15000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc1e778c000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc1e73ee000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc1e71d6000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc1e6fb7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc1e6bc6000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc1e8c65000)
libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fc1e69bc000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fc1e678a000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fc1e6586000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fc1e637b000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fc1e6177000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fc1e5f5c000)

似乎缺少两个库。我发现我有 libssl1.1 和 1.0.0。我已经尝试为 libssl 共享对象的 1.1 和 1.0.0 版本创建符号链接(symbolic link)。仍然得到同样的错误。

再一次,是的——我已经复制/粘贴了错误尖叫的确切路径。路径正确。

我也尝试过使用 isql 命令行 - 同样的错误。所以这肯定与 odbc<->msodbcsql 库有关。这不是特定于 PHP/PDO/ODBC 的东西。

有趣的是,mssql-cli 命令行工具(来自 Microsoft 存储库)确实有效。对其运行 ldd 表示它不是动态可执行文件。

所有相关库的安装版本:

unixodbc = 2.3.7
libodbc1 = 2.3.7
odbcinst = 2.3.7
msodbcsql = 17.3.1.1-1

所有版本都是 Microsoft repo 提供的最新版本。全部在 Ubuntu 18.04 下。我刚刚在我的笔记本电脑上重试了该程序(我已经做了无数次)——结果相同。提示找不到驱动库

odbcinst -j 的输出如下:

unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

是的,这些文件存在于/etc/odbcinst.ini 和/etc/odb.ini。

/etc/odbcinst.ini 的内容:

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
UsageCount=1

运行“stat/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1”:

Size: 2046672       Blocks: 4000       IO Block: 4096   regular file

我发现关于这个问题的信息很少。我遇到的几个帖子要么没有解决问题,要么没有得到答复。

所以..我在这里遗漏了什么吗?还是我应该提交错误报告?

附带说明一下,从第一天开始我就遇到了 Ubuntu 18.04 和 msodbc 的问题。最初,存在 libcurl3/4 问题。我想现在已经修好了。但这似乎是……一个错误?

最佳答案

我今天遇到了完全相同的问题。 apt-get -y install libssl1.0.0 解决了我的问题。

关于ubuntu-18.04 - Ubuntu 18.04 和 msodbcsql17 : Can't open lib - SHOULD I FILE A BUG REPORT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55126811/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com