The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption
Asked Answered
T

2

13

I used this code to create a connection to 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();
  }

but i got this error:

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Socket closed". ClientConnectionId:5975fad5-8f8d-496a-a2bb-bff3a8d1a755

Can anybody help me? Thanks in advance

Therapeutic answered 4/9, 2013 at 18:7 Comment(5)
what is con? Have you tried calling con.Open() or equivalent?Privet
I'm sorry. i forgot to write the definition of variables.i'll edit the questionTherapeutic
I think there is not IP in a connection stringAgadir
I just write IP as an example :). assume it is localhost or 127.0.0.1 or any other hostTherapeutic
@MojtabaMahamed I'm sorry. My fault :DAgadir
C
7

Check out this Microsoft JDBC Blog post:

for resolve SSL problems with SQLServer (specially for android clients:JDBC driver can not be used effectively in the Android OS on unfortunately) try to using jDTS:

jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000, 2005, 2008 and 2012)

Crochet answered 5/9, 2013 at 6:4 Comment(2)
You're right. It works for me. But anybody should keep in mind that JTDS 1.3.1 does not work with android so we must use 1.2.8Therapeutic
I'm successfully using jTDS 1.3.1 on Android, versions 5.0 through 9.0.Glaucoma
K
0

Is it

databaseName=MyDB

or

database=MyDB

?

Try the latter.

Are you on a Windows Machine? http://www.microsoft.com/en-us/download/details.aspx?id=24009

Download that and try to talk to your server outside of your code. The port query tool will show you if its a firewall (or similar) issue, outside of the code.

Koralle answered 4/9, 2013 at 18:23 Comment(1)
I downloaded the code from Microsoft page for Sqljdbc. I can connect to my server via Sql Server Management Studio and there is no problem.Therapeutic

© 2022 - 2024 — McMap. All rights reserved.