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

时间:2013-03-14 20:26:40

标签: java sql jdbc

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

5 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:3)

阅读Tomcat Documentation about classpath以获得澄清,或者只需将sqljdbc.jar放入$ CATALINA_HOME / lib即可从所有应用程序访问它。

答案 2 :(得分:2)

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

答案 3 :(得分:2)

  

2014年5月15日下午3:09:43 org.apache.tomcat.jdbc.pool.ConnectionPool init   严重:无法创建池的初始连接。   java.sql.SQLException:com.microsoft.sqlserver.jdbc.SQLServerDriver           在org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254)           在org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)           在org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:701)           在org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635)   ...

非常令人费解,因为我的网络应用程序有 WEB-INF / lib / sqljdbc4.jar

从错误消息中,Tomcat也需要一些jar文件。

将jar文件复制到 CATALINA_HOME / lib / sqljdbc4.jar 后,错误消失了。

答案 4 :(得分:0)

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