java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
当我尝试将应用程序部署到 tomcat 中时,出现上述异常。但奇怪的是,我尝试了一个简单的 main 方法,效果很好。有什么帮助吗???
我做了以下事情:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String connectionUrl = "jdbc:microsoft:sqlserver://localhost:1433;" + "database=DBName;" + "user=UserName;" + "password=Password";
connection = DriverManager.getConnection(connectionUrl);
您需要将包含类
com.microsoft.sqlserver.jdbc.SQLServerDriver
的 jar 文件添加到您的 war 文件的 WEB-INF/lib
文件夹中。
阅读有关类路径的 Tomcat 文档以进行说明,或者将 sqljdbc.jar 放入 $CATALINA_HOME/lib 中以从所有应用程序访问它。
即使构建路径中有 JAR(sqlserverjdbc.jar),您也需要添加包含该类的 jar 文件。 com.microsoft.sqlserver.jdbc.SQLServerDriver 到您的 war 文件的 WEB-INF/lib 文件夹。
2014 年 5 月 15 日下午 3:09:43 org.apache.tomcat.jdbc.pool.ConnectionPool 初始化 严重:无法创建池的初始连接。 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应用程序有WEB-INF/lib/sqljdbc4.jar。
从错误信息来看,不知何故Tomcat也需要jar文件。
将jar文件复制到CATALINA_HOME/lib/sqljdbc4.jar后,错误消失了。
由于您正在运行 Web 应用程序,因此您需要将 MS SQL Server 驱动程序(或任何数据库的驱动程序)存储在两个位置。在成为 WAR 的应用程序内部,您需要存储在应用程序服务器的 LIB 目录中的第二个副本。因此,如果您在 Tomcat 上运行,那么您可以将其放在 /opt/tomcat/lib 或 C:\DEV omcat7\lib 中。