2

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ドライバーを使用しています。

4

2 に答える 2

1

SQL Server jdbc バージョンをバージョン 4.0 にアップグレードすると、問題が解決されたことが判明しました。

于 2012-08-01T16:35:08.940 に答える
0

JDBC ドライバー バージョン 4.1 で同じ問題が発生し、4.0 にダウングレードすると問題が解決しました

于 2015-06-05T14:22:27.047 に答える