我在tomcat里的context.xml里面的配置是这样的。
 <Resource name="jdbc/oracle" 
auth="Container" 
type="javax.sql.DataSource" 
driverClassName="oracle.jdbc.driver.OracleDriver" 
url="jdbc:oracle:thin:@192.168.1.98:1521:orcl" 
username="lilun" 
password="lilun" 
maxActive="100" 
maxIdle="30" 
maxWait="10000" />
在项目里面的web.xml配置是这样的。
<resource-ref>
   <description>DB Connection</description>
        <res-ref-name>jdbc/oracle</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>     
        <res-auth>Container</res-auth>
  </resource-ref> 
在获取connection的代码是这样的。public static Connection getConnection(){
try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/oracle");
con = ds.getConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
我的驱动包包是一个oracle10g的,还有个ojdbc14.jar在项目lib文件夹下。
加载项目之后,在tomcat里面也找到了这两个驱动包。
可是就在程序运行到con = ds.getConnection();的时候,控制台就报驱动类找不到。
请问各位大哥大姐们。我是不是配置出了问题阿。

解决方案 »

  1.   

    把驱动加到tomcat的common\lib目录下试试
      

  2.   

    这个不能 用 main方法测试啊 只能在 服务启动时才能测试啊  你想 为什么要配置在tomact下 就是服务开启后知道掉用的  你都不启动服务当然是得不到啊 你要是想用main方法 可以读取这个xml 试试吧
      

  3.   

    10g,把ojdbc14.jar放在你的工程lib下即可,跟其他用到的jar一起。
    ps:楼主可试试class12.jar。
    特别注意:以上两个只要任意一个就ok了,其他oracle相关的jar不要加进来。。
      

  4.   

    检查common/lib下的commons-pool.jar 和commons-dbcp.jar有吗?
      

  5.   


    commons-dbcp.jar这个不用了吧,
    他用的是TOMCAT的连接池,不是dbcp的啊
      

  6.   

    建议楼主把class12.jar放到tomcat的lib包下面(我用resin服务器是放在这个包里面的,tomcate很久没有用了 不怎么记得了)public static Connection getConnection() throws NamingException, SQLException{
    Context initCtx = null;
    try {
    initCtx = new javax.naming.InitialContext();
    } catch (NamingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    Context envCtx = (Context)initCtx.lookup("java:comp/env");
    DataSource ds = (DataSource)envCtx.lookup("jdbc/zhongzhou");
    return ds.getConnection();
    }