ホームページ >Java >&#&チュートリアル >Java接続のSqlServerエラーを解決する方法

Java接続のSqlServerエラーを解決する方法

WBOY
WBOY転載
2023-05-01 09:22:062339ブラウズ

    問題発見

    今回は SqlServer データベースを使用しました。これまで使用したことがありませんでしたが、問題は大きくありませんでした。要件ドキュメント 手順: SqlServer に接続した後、SpringBoot プロジェクトを開始し、次のようなエラーを見つけます:

    Java接続のSqlServerエラーを解決する方法

    最初は、SqlServer 接続の問題だと思いました。 , そこでデータベースを確認しに行きましたが、データベース内のすべてが正常であることがわかりました。まず同僚にそのような問題があるかどうか尋ねましたが、そうではないことがわかったので、私の最も得意な部分である Baidu 用のプログラミングを開始しました。

    解決開始

    具体的なエラー メッセージは次のようなので、Baidu を開始しました

    エラー レポート: ERROR c.a.d.p.DruidDataSource$CreateConnectionThread [Druid-ConnectionPool-Create -1218864105 ] create connection SQLException, url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem, errorCode 0, state 08S01

    最初に中国語に翻訳しました

    中国語翻訳エラー: c.a.d.p.DruidDataSource$CreateConnectionThread[Druid-ConnectionPool-Create-1218864105] 接続作成 SQLException、url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem、エラー コード 0、ステータス 08S01
    com.microsoft.sqlserver.jdbc.SQLServerException: ドライバーは、Secure Socket Layer (SSL) 暗号化を使用して SQL Server への安全な接続を確立できませんでした。エラー: 「クライアント設定 [TLS12] は、サーバーが選択したプロトコル バージョン TLS10 を受け入れません。」顧客接続 ID: c8434f3c-5f82-4cf2-b111-099e140f33d0
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)~[mssql-jdbc-6.4.0.jre8.jar:? ]

    #このエラーは主に、ドライバーが SQL Server への安全な接続を確立するためにコンドーム (SSL) 暗号化を使用できないことが原因です#解決策

    最後に、クエリを実行した結果、2 つの解決策が見つかりました。これらを皆さん​​に提供します。

    方法 1

    jdk1.8 を使用している場合は、まず次のことを行う必要があります。 find

    java.security

    ファイルを JDK ディレクトリにインストールし、自分で変更します。 私のディレクトリは次のとおりです: D:\jdk\jre\lib\security
    があります。 thisjava.securityFile具体的な変更は次のとおりです。
    ファイルを開いた後、これらの 3 行のコードをコメント アウトします (つまり、これらの 3 行の前に # を追加します)。 code):

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC,anon, NULL,
    include jdk.disabled.namedCurves

    その後、プロジェクトを再起動すると、SQL Server への安全な接続を問題なく確立できます。

    画像は次のとおりです:

    変更前の java.security ファイル:

    Java接続のSqlServerエラーを解決する方法

    変更された java.security ファイル:

    Java接続のSqlServerエラーを解決する方法方法 2

    ファイルを開いた後、次の 3 行のコードを見つけます。 :

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC,anon, NULL,
    include jdk.disabled.namedCurves

    次に、3DES_EDE_CBC 文字を削除します。 (下の図)

    次に、プロジェクトを再起動し、問題なく SQL Server へのコンドーム接続を確立します。

    変更前の java.security ファイル:

    Java接続のSqlServerエラーを解決する方法

    変更後の java.security ファイル:

    # ##################################

    以上がJava接続のSqlServerエラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。