Ich habe ein Web-Entwicklungsprojekt mit lokaler Installation von Tomcat 7
. Ich versuche, eine Verbindung zu SQL Server 2012
mit Microsoft Treiber für jdbc (sqljdbc41.jar
).ClassNotFoundException - com.microsoft.jdbc.sqlserver.SQLServerDriver
Die sqljdbc41.jar
ist in meiner Anwendung Build-Pfad:
und ich bin exportieren. Außerdem habe ich im Tomcat-Anwendungsverzeichnis lib
Ordner auch eine Kopie von sqljdbc41.jar
platziert.
Es gibt keine Kompilierung Fehler, aber zur Laufzeit, wenn ich versuche, die SQL Server-Treiber ich folgende erhalten zu laden:
ClassNotFoundException - com.microsoft.jdbc.sqlserver.SQLServerDriver
Die Ausnahme wird im folgenden Code-Block geworfen:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://"+server+":1433;databaseName="+database+";user=sa;password="+password+";";
con = (Connection) DriverManager.getConnection(connectionUrl);
ich ohne eine Entscheidung zu diesem Thema viele Beiträge gesehen:
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver : Am I loading the right driver?
- https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b425c201-9882-4a48-b049-4004f202b0c6/javalangclassnotfoundexception-commicrosoftsqlserverjdbcsqlserverdriver?forum=sqldataaccess
- Getting ClassNotFoundException on code: "Class.forName("com.microsoft.sqlserver.jdbc.SqlServerDriver");"
und vieles mehr.
Compiler Ebene 1.7 und eine JRE von 1.7 - Nach documentation glaube ich, dass ich den richtigen Treiber verwende. Dies besagt auch, dass der CLASSPATH festgelegt werden muss:
echo $CLASSPATH
/var/common/sqljdbc41.jar
Welche es ist. Außerdem:
java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM)
64-Bit Server VM (build 24.75-b04, mixed mode)
Also, warum bin ich immer noch dabei ???
aktualisieren
ich die sqljdbc41.jar
von Microsoft erneut heruntergeladen - nur um sicher zu sein, dass irgendwie das erste Glas nicht beschädigt war.
Nach dem Link von Mick Mnemonic habe ich das Jar aus dem Java-Build-Pfad entfernt und das neu heruntergeladene JAR in den Ordner WEB-INF/lib
der Webanwendung gestellt. Ich habe dann Eclipse und den Tomcat-Server neu gestartet und den Tomcat-Server und das Projekt gesäubert.
Immer noch die ClassNotFoundException
.
Auch kann der Eclipse-IDE den Treiber sehen:
Haben Sie bereits die Paketstruktur des Glases überprüft? Ist jtds eine Option? – Marged
@Marged Ja, und ich kann diesen bestimmten Treiber im Archiv sehen. –
Haben Sie eine neuere Version ausprobiert? Soweit ich weiß, ist eine Version> 4.1 verfügbar. Verwenden von jTDS ist keine Option? – Marged