Драйвер не смог установить безопасное соединение с SQL Server с использованием шифрования Secure Sockets Layer (SSL)

Я использовал этот код для создания соединения с 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: драйвер не смог установить безопасное соединение с SQL Server с использованием шифрования Secure Sockets Layer (SSL). Ошибка: "Гнездо закрыто". ClientConnectionId: 5975fad5-8f8d-496a-a2bb-bff3a8d1a755

Может кто-нибудь мне помочь? Спасибо заранее

Ответ 1

Посмотрите Блог Microsoft JDBC:

для решения проблем SSL с SQLServer (специально для клиентов Android: драйвер JDBC не может быть эффективно использован в ОС Android, к сожалению) попробуйте используя jDTS:

jTDS является открытым исходным кодом на 100% Java (тип 4) JDBC 3.0 для Microsoft SQL Server (6.5, 7, 2000, 2005, 2008 и 2012)

Ответ 2

Это

databaseName=MyDB

или

database=MyDB

?

Попробуйте последний.

Вы на Windows-машине? http://www.microsoft.com/en-us/download/details.aspx?id=24009

Загрузите это и попробуйте поговорить с сервером за пределами вашего кода. Инструмент запроса порта покажет вам, если его брандмауэр (или аналогичный) проблема, вне кода.