SQL Serverのコネクションテストで「ドライバーが SSL (Secure Sockets Layer) 暗号化による SQL Server への安全な接続を確立できませんでした。」というエラーが発生します

SQL ServerとJDBCドライバーの組み合わせによっては、下記のエラーが発生する場合があります。

com.microsoft.sqlserver.jdbc.SQLServerException: ドライバーが SSL (Secure Sockets Layer) 暗号化による SQL Server への安全な接続を確 立できませんでした。エラー: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"

本現象はJDBCドライバーの通信形式にSQL Server側が対応していない場合に発生します。
詳しい内容につきましてはMicrosoft社が公開している下記のドキュメントを確認してください。
https://learn.microsoft.com/ja-jp/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-ver16

回避方法として、弊社環境ではコネクションのURLに下記のどちらかのオプションを追記することで
接続を行えることを確認しています。

・encrypt=false
・trustServerCertificate=true

■URL例
jdbc:sqlserver://[ホスト名]:[ポート番号];SELECTMETHOD=cursor;trustServerCertificate=true

この記事は役に立ちましたか?
2人中1人がこの記事が役に立ったと言っています

他のキーワードで検索する