2013-09-04 13 views
13

Użyłem tego kodu, aby utworzyć połączenie z serwerem SQL.Sterownik nie może ustanowić bezpiecznego połączenia z programem SQL Server za pomocą szyfrowania SSL (Secure Sockets Layer).

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(); 
    } 

ale mam ten błąd:

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

Czy ktoś może mi pomóc? góry dzięki

+0

co to jest "con"? Czy próbowałeś wywoływać 'con.Open()' lub odpowiednik? – Codeman

+0

Przykro mi. Zapomniałem napisać definicję zmiennych. I'll edit the question –

+0

Myślę, że nie ma 'IP' w łańcuchu połączenia –

Odpowiedz

6

Sprawdź tę Microsoft JDBC Blog postu:

problemów rozwiązać SSL z SQLServer (specially for android clients: sterownik JDBC nie mogą być skutecznie stosowane w Android OS na niestety) starają się za pomocą 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)

+0

Masz rację. Mi to pasuje. Ale każdy powinien pamiętać, że JTDS 1.3.1 nie działa z Androidem, więc musimy użyć 1.2.8 –

0

Jest on

databaseName=MyDB 

lub

database=MyDB 

?

Wypróbuj to drugie.

Czy jesteś na komputerze z systemem Windows? http://www.microsoft.com/en-us/download/details.aspx?id=24009

Pobierz i spróbuj porozmawiać z serwerem poza kodem. Narzędzie do wysyłania zapytań do portu wyświetli komunikat o problemie z zaporą ogniową (lub podobnym) poza kodem.

+0

Pobrałem kod ze strony Microsoftu dla Sqljdbc. Mogę połączyć się z moim serwerem za pośrednictwem Sql Server Management Studio i nie ma problemu. –

Powiązane problemy