jdbcからAzureSQLServerに接続したいと思います。
Azure管理コンソールから接続文字列をコピーします。それは次のようなものです:
jdbc:sqlserver://XXXX.database.windows.net:1433; database = YYYY; user = ZZZZZ @ XXXX; password = PPPPPPPPPPP; encrypt = true; hostNameInCertificate=*。database.windows.net
この値で接続しようとすると、次のエラーが発生します。
com.microsoft.sqlserver.jdbc.SQLServerException:ドライバーは、Secure Sockets Layer(SSL)暗号化を使用してSQLServerへの安全な接続を確立できませんでした。エラー: "java.security.cert.CertificateException:Secure Sockets Layer(SSL)の初期化中に証明書のサーバー名を検証できませんでした。サーバー名は* .database.windows.net、証明書の名前はdata.am2-です。 1.database.windows.net。
次に、例外で言うように、*。database.windows.netをdata.am2-1.database.windows.netに変更すると、正常に動作します。
では、この名前を設定するのは問題ですか?デフォルトでワイルドカードの場合は、おそらく変更されるのでしょうか。そうなると、もう接続できなくなると思います。他の誰かがこの問題を抱えていましたか?見つけたSQLServer用の最新のjdbcドライバーを使用しています。