2013-03-14 11 views
5
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver 

Dostałem powyższy wyjątek, kiedy próbuje do rozmieszczania mój wniosek do Tomcat. ale dziwne jest to, próbowałem z prostą główną metodą i działa dobrze. Proszę o pomoc?java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

Zrobiłem następujące:

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
String connectionUrl = "jdbc:microsoft:sqlserver://localhost:1433;" + "database=DBName;" + "user=UserName;" + "password=Password"; 
connection = DriverManager.getConnection(connectionUrl); 
+1

Uważam, że sterownik JDBC nie znajduje się w ścieżce klas. Czego używasz do budowy swojego projektu? –

+1

Spójrz na jedną z setek pytań na ten temat na tej stronie. Właśnie przed chwilą komentowałem inną. –

Odpowiedz

6

Trzeba dodać pliku JAR zawierającego klasę com.microsoft.sqlserver.jdbc.SQLServerDriver do WEB-INF/lib folderze plik wojny.

3

Przeczytaj Tomcat Documentation about classpath w celu wyjaśnienia lub po prostu umieść plik sqljdbc.jar w katalogu $ CATALINA_HOME/lib, aby uzyskać do niego dostęp ze wszystkich aplikacji.

2

Chociaż masz JAR (sqlserverjdbc.jar) w ścieżce kompilacji Musisz dodać plik jar zawierający klasę. com.microsoft.sqlserver.jdbc.SQLServerDriver do foldera WEB-INF/lib pliku wojny.

2

15 maja 2014 15:09:43 org.apache.tomcat.jdbc.pool.ConnectionPool init, ciężkie: Nie można utworzyć połączenia z puli początkowych. Wywołanie java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver (PooledConnection.java:254) at org.apache.tomcat.jdbc.pool. PooledConnection.connect (PooledConnection.java:182) at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection (ConnectionPool.java: 701) at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection (ConnectionPool. Java: 635) ...

jest to dość zaskakujący, ponieważ moja aplikacja internetowa ma WEB-INF/lib/sqljdbc4.jar.

Z komunikatu o błędzie, jakoś plik JAR jest również wymagany przez Tomcat.

Po skopiowaniu pliku JAR do CATALINA_HOME/lib/sqljdbc4.jar, błąd zniknął.

0

Ponieważ używasz aplikacji internetowej, musisz mieć sterownik MS SQL Server - lub sterownik dla dowolnej bazy danych - przechowywany w dwóch miejscach. Wewnątrz aplikacji, która staje się WAR, a następnie potrzebujesz drugiej kopii, która jest przechowywana w katalogu LIB serwera aplikacji. Tak więc, jeśli używasz Tomcata, to wstawisz to/opt/tomcat/lib lub C: \ DEV \ tomcat7 \ lib.

Powiązane problemy