运行脚本连接到 MSSQL 实例时出现以下错误。
我正在使用 Ubuntu Disco Dingo(开发分支)19.04。
在 Ubuntu 18.04.02 上没有遇到以下任何问题。但是,我想尝试让它在新的 Ubuntu 版本中工作。
我安装了 2019 年 3 月 22 日的 Azure Data Studio v1.5.2
还安装了适用于 Linux 的 Microsoft ODBC Server 2017 驱动程序(版本:Ubuntu 18.10)
我已经验证我的驱动程序存在于该路径中:
/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
我运行了 odbcinst -j,输出如下:
unixODBC 2.3.7
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/leeca/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
但是,我在两个位置都有一个 odbcinst.ini 文件。
地点 1:
/opt/microsoft/msodbcsql17/etc/odbcinst.ini
nano 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
地点 2:
/etc/odbcinst.ini
nano 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
我尝试通过运行导航到/opt/microsoft/msodbcsql17/etc
符号链接文件但失败并出现错误:/etc/odbcinst.ini
ln -s /etc/odbcinst.ini
ln: failed to create symbolic link 'etc/odbcinst.ini': File exists
使用此脚本连接到 JupyterLab 中的 SQL Server 实例:
class Database():
def __init__(self):
self.cnxn = pyodbc.connect(driver='{ODBC Driver 17 for SQL Server}',
server='servername',
database=dbname,
uid=user,
pwd=password)
产生错误:
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1' : file not found (0) (SQLDriverConnect)")
使用 Azure Data Studio 连接到 SQL Server 实例会产生错误:
Extension host terminated unexpectedly.
文件夹路径权限:
drwxr-xr-x /
drwxrwxr-x opt
drwxr-xr-x microsoft
drwxr-xr-x msodbcsql17
drwxr-xr-x lib64
-rwxr-xr-x libmsodbcsql-17.3.so.1.1
f: /etc/
drwxr-xr-x /
drwxr-xr-x etc
任何帮助都将不胜感激,非常感谢
答案1
昨天和今天我在 Ubuntu 19.04 上遇到了同样的错误,经过几个小时的挫败后,我认为我可能能够提供帮助。
我使用命令“ldd /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1”,发现没有找到libssl1.0.0。
不幸的是,我在 Ubuntu 19.04 Disco 的存储库中没有合适的候选替代品。我可以直接从此资源下载 .deb:https://packages.ubuntu.com/cosmic/amd64/libssl1.0.0/download,这解决了我的问题。