我的环境
windows XP ,tomcat6.0,java5.0.oracle9i下面是我的配置文件
1.在D:\tomca6.0\conf\server.xml
我的数据源配置信息如下:
     <Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
              url="jdbc:oracle:thin:@localhost:1521:orcl"
              username="randy" password="randy" maxActive="20" maxIdle="10"
              maxWait="-1"/>
将driverClassName 换为“oracle.jdbc.driver.OracleDriver”还是报一样的错误2.在D:\tomca6.0\conf\context.xml
<ResourceLink
name="jdbc/myoracle" 
type="javax.sql.DataSource" 
global="jdbc/myoracle"
/>
3.web.xml <resource-ref>
 <description>Oracle Datasource example</description>
 <res-ref-name>jdbc/myoracle</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>
4.我的测试程序public class DBPool {
    private static DataSource pool;
    static {
         Context env = null;
          try {
              env = (Context) new InitialContext().lookup("java:comp/env");
System.out.println(env);              
              pool = (DataSource)env.lookup("jdbc/myoracle");
System.out.println(pool);              
              if(pool==null) 
                  System.err.println("'DBPool' is an unknown DataSource");
               } catch(NamingException ne) {
                  ne.printStackTrace();
          }
      }
    public static DataSource getPool() {
        return pool;
    }
    
    public static Connection getConnection(){
     Connection conn = null;
     try {
conn = pool.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
    }
}4.jsp文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = DBPool.getConnection();
out.println(conn);
%>
</body>
</html>访问页面,报错信息如下:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.randy.nrs.tool.DBPool.getConnection(DBPool.java:33)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
... 21 more
调试了好久,都没有解决,希望在这里大家能帮忙解决一下。

解决方案 »

  1.   

    你这是使用tomcat的jndi?没研究过,过来学习下
      

  2.   

    Caused by: java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:243) 驱动jar包没有引入或者引入错误。看你的oracle版本
    9i及以下可用class12.jar,10g及以上推荐ojdbc14.jar
      

  3.   

    谢谢楼上的关注,我的问题已经解决了。问题是我把数据源的配置信息,放到META_INF目录下的context.xml中就可以了...很奇怪,这在apache官方中没有说明,疑问?
      

  4.   

    tomcat6直接在context.xml中配置就行啦,不用在server.xml中配置
      

  5.   

    我也配了,不用那么麻烦,就直接在conf里的context.xml或者在META_INF目录下的context.xml,配置一下就可以了,具体原因还真不清楚