0

我知道这已经出现了一百万次,但显然不是 .NET Core 使用System.Data.Odbc.

在注册表中打开 TLS 1.0 后,我收到一个错误:

{System.Data.Odbc.OdbcException (0x80131937): ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error

ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECDoClientHandshake()).

在托管 SQL Server 的服务器上运行 ASP.NET Core 站点时出现该错误,但同时也在 Windows 10 客户端上使用开发机器连接到远程 SQL Server。

SSMS 在服务器和客户端上运行和连接都很好。当我打开 TLS 1.0 支持并重新启动 SQL Server 时,该站点在服务器和客户端上都运行良好。(无需重新启动即可查看差异)。

确保我启用了 FIPS 支持,即使我在某处读到不再需要它。

这是配置:

  • Windows Server 2016(最新)
  • 具有最新更新的 SQL Server 2016 SP2
  • 可以肯定的是,即使我不使用它,我也安装了 .NET 4.7。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001

我怀疑System.Data.Odbcfor .NET Standard 2.0 不支持 1.2。我很想得到一些帮助和指点。

[编辑] @TallTed 这是安装的,它应该支持 TLS 1.2:

  • Microsoft SQL Server 2012 Native Client 带版本11.4.7001.0
  • Microsoft ODBC Driver 17 for SQL Server 带版本17.3.1.1
  • Microsoft ODBC Driver 11 for SQL Server 带版本12.2.5543.11
  • Microsoft ODBC Driver 13 for SQL Server 带版本14.0.1000.169
4

1 回答 1

-1

System.Data.Odbc不是问题;[Microsoft][ODBC SQL Server Driver][DBNETLIB]是。

解决方案是从 Microsoft我的雇主其他供应商处获取(或确认您正在使用)更新的 SQL Server ODBC 驱动程序......

于 2019-02-22T22:44:02.360 回答