无法找到包 msodbcsql

Sam*_*el 8 sql-server ubuntu

我正在尝试使用此指南在 Ubuntu 16.04 上安装 mssql 驱动程序。当我进入步骤时:

sudo ACCEPT_EULA=Y apt-get install msodbcsql
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:无法找到包 msodbcsql 我错过了哪一步?

提前致谢。

Ale*_*lok 7

似乎是因为,根据那个 url,Ubuntu 的正确命令是:

sudo ACCEPT_EULA=Y apt-get install msodbcsql17
Run Code Online (Sandbox Code Playgroud)

16.04 的完整脚本:

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version


#Ubuntu 16.04
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list


exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev
Run Code Online (Sandbox Code Playgroud)

更新(18 年 4 月 13 日)

考虑通过运行来检查 Microsoft 存储库是否正确注册:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

因此,您应该看到类似于“Get:30 http packages.microsoft.com/ ..”的一行

我的虚拟机示例:

Get:29 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [3,208 B]
Get:30 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 Packages [31.7 kB]
Fetched 12.9 MB in 5s (2,265 kB/s)
Run Code Online (Sandbox Code Playgroud)


C.K*_*.K. 5

我在 Debian GNU/Linux 9 上遇到了同样的错误。

结果证明是失败的 apt-get update

# apt-get update
....
N: Is the package apt-transport-https installed?
E: Failed to fetch https://packages.microsoft.com/debian/9/prod/dists/stretch/InRelease
Run Code Online (Sandbox Code Playgroud)

根据错误日志,我跑apt-get install apt-transport-httpsapt-get update一次。

然后我就可以ACCEPT_EULA=Y apt-get install msodbcsql17成功了

注意:我是 root 用户,如果不是,请添加 sudo,尝试一下。:)