解决 Ubuntu 1804 下 SQL Server 连接时 TCP 错误代码 0x2746 问题

参考

问题描述

按照文档安装完 SQL Server 后,使用 sqlcmd 连接 SQL Server 时报错:

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746. Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.

显示 TCP 连接错误,但是通过 netstat 指令查看 mssql 确实已经监听了 1433 端口

问题解决

此问题只会出现在 Ubuntu 1804 版本

  1. 关闭 mssql 服务
    sudo systemctl stop mssql-server
  2. 新建服务重载文件
    sudo systemctl edit mssql-server
  3. 向文件添加以下内容
    [Service]
    Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
  4. 添加 OpenSSL 1.0 软链接
    sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so 
    sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
  5. 启动 SQL Server
    sudo systemctl start mssql-server

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据