安全な通信を使用してMSSQL Server 2008r2に接続する必要があります。次の接続文字列を使用して同じことを行うことができました。
jdbc:sqlserver://<<db server name>>:1433;databaseName=<<db name>>;selectMethod=cursor;encrypt=true;trustServerCertificate=false;integratedSecurity=false;trustStore=<<path to my trust store>>;trustStorePassword=<<password>>
DBサーバーで、構成マネージャーを使用して使用する証明書を指定し、「強制暗号化」を有効にしました。SQLServer構成マネージャー-> SQLServerネットワーク構成->プロトコル<>-右クリック->プロパティ->暗号化と証明書の強制
ただし、次のURLの「encrypt = true」を指定しなくても、同じDBに接続できます。
jdbc:sqlserver://<<db server name>>:1433;databaseName=<<db name>>;selectMethod=cursor;
私の混乱は、SQL Serverが安全な接続用に構成されている場合、暗号化されていない接続を拒否/無視すべきではないということです。または、DBサーバーが安全な接続のみを受け入れるように、追加の構成を行う必要がありますか?
よろしくPマンチャンダ
いいえ。ドキュメントによると、暗号化された接続があります。
データベースエンジンの[暗号化の強制]オプションが[はい]に設定されている場合、[接続の暗号化]オプション(SSMSなど)がオンになっているかどうかに関係なく、クライアントとサーバー間のすべての通信が暗号化されます。次のDMVステートメントを使用して確認できます。
そのように単純です-接続文字列の設定は無視されます。
これは、サーバーで次の方法で確認できます。
USE master
GO
SELECT encrypt_option FROM sys.dm_exec_connections
GO