unixODBC 驱动程序管理器 SQL Server 错误

unixODBC 驱动程序管理器 SQL Server 错误

运行脚本连接到 MSSQL 实例时出现以下错误。

我正在使用 Ubuntu Disco Dingo(开发分支)19.04。

在 Ubuntu 18.04.02 上没有遇到以下任何问题。但是,我想尝试让它在新的 Ubuntu 版本中工作。

我安装了 2019 年 3 月 22 日的 Azure Data Studio v1.5.2

Azure 数据工作室 v 1.5.2

还安装了适用于 Linux 的 Microsoft ODBC Server 2017 驱动程序(版本:Ubuntu 18.10)

适用于 SQL Server 的 ODBC 驱动程序 17

我已经验证我的驱动程序存在于该路径中:

/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.iniln -s /etc/odbcinst.iniln: 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,这解决了我的问题。

相关内容