使用AzureDataStudio的Linux Mint+SQL Server 2008 R2的SQL Server连接



我正试图用SP4数据库连接到我的SQL Server 2008 R2,但是,我遇到了这个错误,我尝试了一些在这里找到的解决方案,但都不适用。

PS。我不知道如何准确理解这个错误

Microsoft.Data.SqlClient.SqlException(0x80131904(:已成功与服务器建立连接,但在登录前握手过程中发生错误。(提供程序:TCP提供程序,错误:35-捕获到内部异常(

System.Security.Authentication.Authentication异常:身份验证失败,请参阅内部异常。

Interop+OpenSsl+SslException:SSL握手失败,出现OpenSsl错误-SSL_error_SSL。

Interop+Crypto+OpenSslCryptographicException:错误:1425F102:SSL例程:SSL_choose_client_version:不支持的协议

我知道错误是:

SSL握手失败,出现OpenSSL错误

我的openssl版本:

OpenSSL 1.1.1f  31 Mar 2020
built on: Mon Apr 20 11:53:50 2020 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-P_ODHM/openssl-1.1.1f=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific

我还尝试更改我的openssl.cnf:

  1. 在的开头添加此行

    openssl_conf = default_conf
    
  2. 在末尾添加这些行

    [ default_conf ]
    ssl_conf = ssl_sect
    [ssl_sect]
    system_default = ssl_default_sect
    [ssl_default_sect]
    MinProtocol = TLSv1.2
    CipherString = DEFAULT:@SECLEVEL=1
    

但我仍然收到这个错误。

PS:我正在使用Azure Data Studio

Tks all,对于谁面临相同的问题:我只是将SSL降级到1.1.1,它就可以工作了。

SQL server 2008 r2 SP3应支持1.1.1g或1.1.1f。

以下是要遵循的说明:

  1. 打开终端(Ctrl+Alt+t(
  2. 获取tarball:wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
  3. tar -zxf openssl-1.1.1.tar.gz && cd openssl-1.1.1打开防水布的包装
  4. 发出命令./config
  5. sudo apt install make gcc
  6. make
  7. make test检查可能的错误
  8. 备份当前openssl二进制文件:sudo mv /usr/bin/openssl ~/tmp
  9. 发出命令sudo make install
  10. sudo ln -s /usr/local/bin/openssl /usr/bin/openssl
  11. 运行命令sudo ldconfig以更新符号链接并重建库缓存

假设在执行步骤4到10时没有错误,那么您应该已经成功安装了新版本的OpenSSL。

再次,从终端发出命令:

openssl version

您的输出应该如下:

OpenSSL 1.1.1  11 Sep 2018

源(dif-openssl版本,但方法相同(

https://askubuntu.com/questions/1102803/how-to-upgrade-openssl-1-1-0-to-1-1-1-in-ubuntu-18-04

最新更新