- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
伙计们,我至少安装了几十次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/
我正在尝试使用此 guidance 在 Ubuntu 16.04 上安装 mssql 驱动程序.当我进入这一步时: sudo ACCEPT_EULA=Y apt-get install msodbcs
这是我第一次尝试使用 pyodbc 连接到 Docker 镜像中的 Azure SQL 数据库。我的 Dockerfile 如下所示: # the base image FROM python:3 W
要安装使用 Linux 的 PHP Microsoft SQL 驱动程序所需的 mssql 工具附带的 msodbcsql,需要以下命令 sudo ACCEPT_EULA=Y apt-get inst
当我在终端中执行以下操作时: #sudo apt-get install msodbcsql 我收到以下错误: Installation Failed, ODBC Driver 11 for SQL
我是一名优秀的程序员,十分优秀!