web-dev-qa-db-fra.com

Le pilote n'a pas pu établir une connexion sécurisée à SQL Server à l'aide du cryptage SSL (Secure Sockets Layer)

J'ai utilisé ce code pour créer une connexion à 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();
  }

mais j'ai eu cette erreur:

com.Microsoft.sqlserver.jdbc.SQLServerException: le pilote n'a pas pu établir une connexion sécurisée à SQL Server à l'aide du cryptage SSL (Secure Sockets Layer). Erreur: "Prise fermée". ClientConnectionId: 5975fad5-8f8d-496a-a2bb-bff3a8d1a755

Quelqu'un peut-il m'aider? Merci d'avance

13
Mojtaba Mahamed

Découvrez ceci Microsoft JDBC Blog post:

pour résoudre les problèmes SSL avec SQLServer ( spécialement pour les clients Android : le pilote JDBC ne peut pas être utilisé efficacement dans le système d’exploitation Android malheureusement), essayez d’utiliser jDTS :

jTDSest un pilote JDBC 3.0 100% pur Java (type 4) en source ouverte pour Microsoft SQL Server (6.5, 7, 2000, 2005, 2008 et 2012)

6
Ria

Est-ce 

databaseName=MyDB

ou

database=MyDB

?

Essayez le dernier.

Êtes-vous sur une machine Windows? http://www.Microsoft.com/en-us/download/details.aspx?id=24009

Téléchargez-le et essayez de parler à votre serveur en dehors de votre code. L'outil de requête de port vous montrera s'il s'agit d'un problème de pare-feu (ou d'un problème similaire), en dehors du code.

0
granadaCoder