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.Odbc.NET Standard 2.0 が 1.2 をサポートしていないことです。いくつかの助けと指針を得たいと思います。

[編集] @TallTed これがインストールされているもので、TLS 1.2 をサポートする必要があります。

  • バージョンの Microsoft SQL Server 2012 ネイティブ クライアント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