2016-08-04 17 views
0

Ich versuche, eine Verbindung mit der Datenbank auf dem Remote-MS SQL-Server mit der bereitgestellten connection string herzustellen. Die Verbindungszeichenfolge ist wie folgt:Java-Verbindung zu einer Remote-MS SQL-Server-Datenbank

data source=qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009; 

Ich verstehe ich soll die geeigneten Treiber habe, so habe ich die SQL Server-Treiber heruntergeladen von microsoft.com/download/en/details.aspx?id=21599 und fügte sie den Build-Pfad meines Projektes. Das sind sqljdbc.jar und sqljdbc4.jar.

Ich verwende nur diesen Testcode, um festzustellen, ob die Verbindung hergestellt ist.

public static void main(String[] args) throws Exception { 

    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); 

    Connection connection = DriverManager.getConnection(
      "qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009;"); 


    System.out.println("Connected!"); 
} 

tun so, bekomme ich einen Fehler: Java Runtime Environment (JRE) Version 1.8 wird von diesem Treiber nicht unterstützt. Verwenden Sie die Klassenbibliothek sqljdbc4.jar, die Unterstützung für JDBC 4.0 bietet.

Was mache ich hier falsch?

Antwort

2

Fügen Sie nicht beide Jars zu Ihrem Klassenpfad hinzu, da beide die com.microsoft.sqlserver.jdbc.SQLServerDriver -klasse enthalten. In Ihrer Situation lädt das Programm den Eintrag aus sqljdbc.jar. Entfernen Sie sqljdbc.jar aus Ihrem Klassenpfad und fügen Sie nur sqljdbc4.jar hinzu, damit Ihr Programm immer die richtige Treiberversion lädt.

Verwandte Themen