我用的是MyEclipse 6.5M1,调试使用的是他自带的tomcat服务器。应该是6.0吧。数据库是mssql2000
我想不改变tomcat配置,使用连接池,所以为项目做了一个局部的数据源。
我在项目的 META-INF 目录下新建了 context.xml ,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resource name="jdbc/mssql" 
    auth="Container" 
    removeAbandoned="true"
    removeAbandonedTimeout="60" 
    logAbandoned="true"
    type="javax.sql.DataSource"
    maxActive="50" 
    maxIdle="10"
    maxWait="10000" 
    username="sa" 
    password="admin"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1433;DatabaseName=bbs" 
/>
  </Context>在WEB-INF目录下的web.xml配置内容如下:
<resource-ref>
     <description>DB Connection</description>
     <res-ref-name>jdbc/mssql</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
包含于<web-app>标签中调试代码如下:
  Connection conn=null;
  try{
   Context initCtx = new InitialContext();
   Context ctx = (Context) initCtx.lookup("java:/comp/env");
   DataSource ds = (DataSource) ctx.lookup("jdbc/mssql"); 
   System.out.println("获得连接池对象!");
   conn = ds.getConnection();
   if(conn != null){
    System.out.println("获得连接");
   }else{
    System.out.println("没有获得连接");
   }
  }catch(Exception ex){
   ex.printStackTrace();
  }
  return conn;安装好sql2000驱动后我把lib下的驱动包考到了项目的WEB-INF/lib下,但是连接数据库是总是报错:
Cannot load JDBC driver class 'com.microsoft.sqlserver.jdbc.SQLServerDriver'。
说找不到驱动,但是我用java直接连接mssql就可以链接到数据库。
public Connection getConnection(){
Connection con = null;
if(con==null){
try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("数据库驱动程序注册成功");
con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=bbs","sa","admin");
System.out.println("数据库连接成功");
}catch(Exception e){
System.out.println("DBHelp:getConnection()");
System.out.println("数据库连接失败");
}
}
return con;
}这是为什么呢?

解决方案 »

  1.   

    你驱动copy 到tomcat 目录 common\lib下
      

  2.   


    1安装sp3的补丁.sql2000sp3以下不支持jdbc,
    2写个简单的jdbc测试驱动是否工作正常
    3看看驱动包lib是否拷贝...下载最新的驱动
      

  3.   

    我自己用java写的直接连接sql没有任何问题,但是换到tomcat连接池就出问题了。
    都弄过了 不行,我才来这发的帖子
      

  4.   

    还有MyEclipse中的tomcat有common文件夹么?
    我这怎么只有logs conf temp works webapps 五个文件夹?
      

  5.   

    看看是不是数据驱动有问题.还有你用的数据库.jar包是2000 的还是2005的.他们的驱动不太一样!
    ms sql2000的JDBC驱动程序是:com.microsoft.jdbc.sqlserver.SQLServerDriver
    ms sql2005的JDBC驱动程序是:com.microsoft.sqlserver.jdbc.SQLServerDriver
    它们是不同的。你用的驱动是2005的看看对应的.jar是不是一样的。