错误:apt-get install msodbcsql

时间:2017-02-07 15:08:39

标签: sql-server odbc ubuntu-16.04

当我在终端中执行以下操作时:

#sudo apt-get install msodbcsql

我收到以下错误:

  

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

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

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

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

6 个答案:

答案 0 :(得分: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是一个要求,因此它本身将获取所需的(最新的我应该想到的)版本那个包裹。此时,问题已得到修复,但仍应通过

  6. 启动Sql服务
  7. sudo systemctl start mssql-server

  8. 因此,对我来说一切都很好。

    请注意我在小学OS 0.4 Loki中做过这个。

答案 1 :(得分:3)

我正在使用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并解决了问题。

答案 2 :(得分: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等。

答案 3 :(得分:0)

我必须在安装成功完成之前删除unixODBC。

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

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

答案 4 :(得分: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

答案 5 :(得分:0)

  

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

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

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

最终通过以下方式找到您的驱动程序的ini文件:odbcinst -j并手动删除驱动程序部分。

请参阅:Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS