错误:apt-get install msodbcsql

问题描述 投票:0回答:7

当我在终端中执行以下命令时:

#sudo apt-get install msodbcsql

我收到以下错误:

安装失败,检测到 SQL Server 的 ODBC 驱动程序 11!

我尝试按照本教程重新安装:

https://learn.microsoft.com/en-us/sql/connect/odbc/linux/installing-the-microsoft-odbc-driver-for-sql-server-on-linux

但我仍然遇到同样的错误。 有什么想法吗?

sql-server odbc ubuntu-16.04
7个回答
5
投票

我使用 Debian 和 Ubuntu 软件包作为 mssql 服务器。我在尝试重新安装 mssql-tools 时遇到了同样的问题,消息:

Installation Failed, ODBC Driver 13 for SQL Server Detected!

解决方案: 在文件

/etc/odbcinst.ini
中删除以下行:

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.8.0
UsageCount=1

最后,我做到了

apt -f install
,问题解决了。


5
投票

为了解决这个问题,我做了几件事:

  1. 我按照塞巴斯蒂安的建议删除了

    /etc/odbcinst.ini
    的内容

  2. 我停止了mssql-server服务

    sudo systemctl stop mssql-server
    我不知道这是否有必要,但是摆弄与之相关的工具,这似乎是一件不错的事情。

  3. 我做到了

    sudo apt remove mssql-tools

  4. 然后

    sudo apt remove msodbcsql
    mssqlodbc 部分附加任何版本号

  5. 然后

    sudo apt install mssql-tools
    这将安装最新版本的
    mssql-tools
    ,其中
    msodbcsql
    是必需的,因此它本身会获取该软件包所需的(我认为是最新的)版本。至此,问题已经解决了,不过Sql服务应该还是可以启动的

  6. sudo systemctl start mssql-server

因此,一切对我来说又恢复正常了。

请注意,我是在 Primary OS 0.4 Loki 中执行此操作的。


1
投票

我尝试安装 ODBC 13 但遇到了非常类似的错误

安装失败,检测到 SQL Server 的 ODBC 驱动程序 13!

我必须:

sudo apt-get remove unixodbc mssql-tools odbcinst libodbc1

手动安装apt下载的软件包(我在/var/cache/apt/archives/msodbcsql_13.1.4.0-1_amd64.deb中找到它)

sudo dpkg -i msodbcsql_13.1.4.0-1_amd64.deb
ldd /opt/microsoft/msodbcsql/lib64/libmsodbcsql-*

然后你可以重新安装unixodbc、mssql-tools、libodbc1等


0
投票

我必须先删除 unixODBC,然后才能成功完成安装。

当 MS 说“yum 删除 unixODBC #以避免冲突”时,他们是认真的

在安装 13 之前,我已按照 MS 删除 msodbc 11 的说明进行操作。(RedHat 7 说明适用于 Fedora 25 - DNF 而不是 YUM)


0
投票

我发现我也需要删除

/usr/local/etc/odbcinst.ini
。使用该配置文件后,我不断收到“安装失败,检测到 SQL Server 的 ODBC 驱动程序 11!”的消息。错误。

因此:

$ sudo bash
# apt-get remove unixodbc mssql-tools odbcinst libodbc1
# rm /usr/local/etc/odbcinst.ini
# apt-get -f install
# sudo dpkg -i msodbcsql_13.1.4.0-1_amd64.deb

0
投票

安装失败,检测到 SQL Server 的 ODBC 驱动程序 11!

如果您安装了带有注册选项的软件包(默认情况下),请通过以下方式删除驱动程序:

odbcinst -u -d -n "ODBC Driver 13 for SQL Server"

最终通过以下方式找到驱动程序的ini文件:

odbcinst -j
并手动删除驱动程序部分。

请参阅:在 Linux 和 macOS 上安装适用于 SQL Server 的 Microsoft ODBC 驱动程序


0
投票

有类似的问题,阻碍了 PopOS (debian) 的自动更新:

安装包时出错:新的 msodbcsql18 包预安装脚本子进程返回错误退出状态 1

我已经手动更新了软件包

sudo apt-get install msodbcsql18

并且我被提升进行必要的 EULA 检查 - 这可能是之前缺失的

更新输出:

Preparing to unpack .../msodbcsql18_18.4.1.1-1_amd64.deb ...
Unpacking msodbcsql18 (18.4.1.1-1) over (18.3.3.1-1) ...
ODBC Driver 18 for SQL Server has been deleted (if it existed at all) because its usage count became zero
Setting up msodbcsql18 (18.4.1.1-1) ...
odbcinst: Driver installed. Usage count increased to 1.
© www.soinside.com 2019 - 2024. All rights reserved.