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

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

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

我做了以下事情:

 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 init SEVERE:无法创建池的初始连接。 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)atg.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的应用程序内部,您需要存储在App Server的LIB目录中的第二个副本。 所以,如果您在Tomcat上运行,那么您可以将它放在/ opt / tomcat / lib或C:\ DEV \ tomcat7 \ lib中。