6
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

当我尝试将我的应用程序部署到 tomcat 时出现上述异常。但奇怪的是,我尝试了一个简单的主要方法,它工作正常。请问有什么帮助吗???

我做了以下事情:

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

5 回答 5

10

您需要将包含该类的 jar 文件添加com.microsoft.sqlserver.jdbc.SQLServerDriver到您的 war 文件的WEB-INF/lib文件夹中。

于 2013-03-14T20:29:15.707 回答
3

阅读有关类路径的 Tomcat 文档以进行澄清,或者将 sqljdbc.jar 放入 $CATALINA_HOME/lib 以从所有应用程序访问它。

于 2013-03-14T20:33:57.197 回答
2

May 15, 2014 3:09:43 PM org.apache.tomcat.jdbc.pool.ConnectionPool init SEVERE: Unable to create initial connections of pool. 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) ...

It is quite puzzling because my web application has WEB-INF/lib/sqljdbc4.jar.

From the error message, somehow the jar file is required by Tomcat too.

After I copy the jar file to CATALINA_HOME/lib/sqljdbc4.jar, the error is gone.

于 2014-05-15T09:17:50.047 回答
2

即使您在构建路径中有 JAR(sqlserverjdbc.jar) 您需要添加包含该类的 jar 文件。com.microsoft.sqlserver.jdbc.SQLServerDriver 到您的战争文件的 WEB-INF/lib 文件夹。

于 2014-01-07T12:36:58.103 回答
0

由于您正在运行 Web 应用程序,因此您需要将 MS SQL Server 驱动程序(或任何 DB 的驱动程序)存储在两个位置。在成为您的 WAR 的应用程序中,您需要存储在 App Server 的 LIB 目录中的第二个副本。所以,如果你在 Tomcat 上运行,那么你可以把它放在 /opt/tomcat/lib 或 C:\DEV\tomcat7\lib 上。

于 2015-03-04T20:01:30.190 回答