Python - 无法打开库 'libtdsodbc.so':找不到文件
Python - Can't open lib 'libtdsodbc.so' : file not found
非常感谢任何对此问题的帮助。
目标:使用 FreeTDS 将 Django 连接到 MSSQL 服务器。我正在使用 Debian x64 机器。
问题:尝试建立连接时出现以下问题。
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
我的/etc/odbcinst.ini
配置如下
[FreeTDS]
Description = FreeTDS
driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
文件 存在并且有 777 个测试访问权限。
连接字符串就像
cnxn = pyodbc.connect(
'DRIVER={FreeTDS};SERVER=' + server + ';PORT=1443;DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
我的 odbcinst -j 读取(添加符号链接后)
unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
如果其他人遇到这个障碍,请查看此博客 post。
https://emacstragic.net/2017/11/06/mssql-odbc-client-on-debian-9-stretch/
基本上,我必须针对特定的 libssl 版本才能工作。
查看我发现的已安装版本:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.1 | grep 'not found'
libcrypto.so.1.0.0 => not found
libssl.so.1.0.0 => not found
并手动安装以前的版本解决了这个问题
wget "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb"
sudo apt install ./libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb
非常感谢任何对此问题的帮助。
目标:使用 FreeTDS 将 Django 连接到 MSSQL 服务器。我正在使用 Debian x64 机器。
问题:尝试建立连接时出现以下问题。
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
我的/etc/odbcinst.ini
配置如下
[FreeTDS]
Description = FreeTDS
driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
文件 存在并且有 777 个测试访问权限。
连接字符串就像
cnxn = pyodbc.connect(
'DRIVER={FreeTDS};SERVER=' + server + ';PORT=1443;DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
我的 odbcinst -j 读取(添加符号链接后)
unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
如果其他人遇到这个障碍,请查看此博客 post。
https://emacstragic.net/2017/11/06/mssql-odbc-client-on-debian-9-stretch/
基本上,我必须针对特定的 libssl 版本才能工作。
查看我发现的已安装版本:
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.1 | grep 'not found'
libcrypto.so.1.0.0 => not found
libssl.so.1.0.0 => not found
并手动安装以前的版本解决了这个问题
wget "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb"
sudo apt install ./libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb