【问题标题】:mssql-cli cannot connect to remote servermssql-cli 无法连接到远程服务器
【发布时间】:2020-10-17 06:12:23
【问题描述】:

我正在尝试使用mssql-cli 连接到远程 SQL Server,我使用以下命令:

/usr/local/bin/mssql-cli -S server -U admin -d db -P ****

我得到这个错误:

错误消息:与服务器成功建立连接,但在登录前握手期间发生错误。 (提供者:TCP Provider,错误:35 - 捕获到内部异常)

但是,我可以毫无问题地使用 sqsh 进行连接:

sqsh -S server -U admin -D db -P ****

由于我可以连接到 sqsh 但不能连接到mssql-cli,并且我能够连接到 SQL Server 的本地实例,所以我不确定从这里去哪里。

【问题讨论】:

    标签: sql-server sqsh


    【解决方案1】:

    我在这里找到了答案:https://askubuntu.com/questions/1284658/how-to-fix-microsoft-odbc-driver-17-for-sql-server-ssl-provider-ssl-choose-cli

    答案是更新到最新的openssl:

    wget https://www.openssl.org/source/latest.tar.gz -O openssl-1.1.1i.tar.gz
    tar -zxvf openssl-1.1.1i.tar.gz
    cd openssl-1.1.1i
    ./config
    make
    sudo make install
    openssl version
    sudo ldconfig
    

    我还安装了 mssql-tools 和 unixodbc-dev - 虽然我不知道这是否与它有关:

    https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-ver15

    这些文档适用于 16.04;因此,如果您像我一样使用 mint 20 或 ubuntu 20.04,则必须将其更改为 20.04:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
    curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
    sudo apt install mssql-tools unixodbc-dev odbcinst1debian2 msodbcsql17 unixodbc libodbc1
    

    它会安装到 /opt/mssql-tools/bin,因此请确保将 /opt/mssql-tools/bin/ 添加到 bash shell 中的 PATH 环境变量中。

    【讨论】:

      猜你喜欢
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多