web-dev-qa-db-ja.com

ドライバーは、Secure Sockets Layer(SSL)暗号化を使用してSQL Serverへの安全な接続を確立できませんでした

このコードを使用して、SQL Serverへの接続を作成しました。

String connectionUrl = "jdbc:sqlserver://IP:1433;" +
        "databaseName=db;user=db;password=pwd";
    Connection con = null;
  try {
     // Establish the connection.
     Class.forName("com.Microsoft.sqlserver.jdbc.SQLServerDriver");
     con = DriverManager.getConnection(connectionUrl);
        return "true";
  }

  // Handle any errors that may have occurred.
  catch (Exception e) {
     e.printStackTrace();
  }

しかし、私はこのエラーを受け取りました:

com.Microsoft.sqlserver.jdbc.SQLServerException:ドライバは、Secure Sockets Layer(SSL)暗号化を使用してSQL Serverへの安全な接続を確立できませんでした。エラー:「ソケットが閉じています」。 ClientConnectionId:5975fad5-8f8d-496a-a2bb-bff3a8d1a755

誰かが私を助けてくれますか?前もって感謝します

13
Mojtaba Mahamed

これをチェックしてください Microsoft JDBC Blog 投稿:

sQLServerでのSSLの問題を解決するため( 特にAndroidクライアント :JDBCドライバーをAndroid OSで残念ながら有効に使用できない) ) jDTS を使用してみます:

jTDSは、100%純粋なオープンソースのオープンソースですJava(タイプ4)Microsoft SQL Server用のJDBC 3.0ドライバー(6.5、7、2000、2005、2008、2012)

7
Ria

それは...ですか

databaseName=MyDB

または

database=MyDB

後者を試してください。

Windowsマシンを使用していますか? http://www.Microsoft.com/en-us/download/details.aspx?id=24009

それをダウンロードして、コードの外でサーバーと通信してみてください。ポートクエリツールは、コード外のファイアウォール(または同様の)問題かどうかを示します。

0
granadaCoder