所报的错误是:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.deng.WuLiu.util.JDBConnection.<clinit>(JDBConnection.java:26)
Caused by: java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
java.lang.NullPointerException
META-INF下的context.xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=WuLiu"
username="sa" password="" maxActive="4" maxIdle="2" maxWait="6000" />
</Context>
WEB-INF下的web.xml文件是:<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <description>MSSql server Test App</description>
 <resource-ref>
     <description>DB Connection</description>
     <res-ref-name>TestJNDI</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
</web-app>
//通过表态连接获取数据库连接池的连接:public class JDBConnection { private static DataSource ds = null;
private static Connection conn = null;
     static {
    try{
 Context ctx = new InitialContext();
 ctx = (Context)ctx.lookup("java:comp/env");
 ds = (DataSource)ctx.lookup("TestJNDI"); //取得连接池数据源
 conn = ds.getConnection(); //取得数据库的连接
 //System.out.println("数据库连接成功!");  
 } catch(Exception e){
 e.printStackTrace();
 }
 }
} 没有打印出数据库连接成功,报了上面的一大堆错误;  我把数据库的三个jar导入了.SQL Server2000打了sp3补丁, 请教一下,
到底是什么问题? 帮帮忙.

解决方案 »

  1.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver这个没找到,看下你的包在你的lib下面没
      

  2.   

    楼主看这个Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver' 
    表明不能加载jdbc驱动,也就是你的jar包找不到。你看看你导jar包没有?
      

  3.   

    三个jar包有问题,下载个sqlserver.jar。试试。
      

  4.   

    看看工程文件里面的classpath.xml中有没有那3个驱动包,然后检查那3个包是否在classpath.xml指定的目录中
      

  5.   

    csdn 里面搜索 把jar包下起
      

  6.   

    我已经在lib目录下添加了三个jar包了: msbase.jar,  mssqlserver.jar,   msutil.jar
    用上面的三个jar包,不用连接池的话可以连接上, 用了连接池就连接不上了. 我也不知道具体是什么问题?
      

  7.   

    在Tomcat的webapps和在MyEclipse里都可以找到三个jar包.
      

  8.   

    不知道怎么回事,我配置JNDI不行,但是我一般总是手写一个连接池的功能,很简单的,自己试试