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);
答案 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。