已经搞了一天了.问了很多朋友,也找了N次百度了.就是解决不了..(注:连接的是ORACLE9I)
谁能给我指条明路.....以下是具体报出的异常和我的tomcat_context.xml/web.xml文件里的配置信息
大家会儿一起看下吧.
//异常:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 异常: Service Classes not found in oracle.net.ano package)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at com.wgh.sql.ConnectOracleDB.getConnection2(ConnectOracleDB.java:42)
at org.apache.jsp.TestConnection_jsp._jspService(TestConnection_jsp.java:102)
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:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLRecoverableException: Io 异常: Service Classes not found in oracle.net.ano package
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221)
... 21 more
//CONTEXT.XML
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource auth="Container" name="jdbc/oracleds" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:ora9" username="scott" password="123456" maxIdle="30" maxActive="30" maxWait="1000" />
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
</Context>//WEB.XML
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
<resource-ref>
 <description>Oracle Datasource example</description>
 <res-ref-name>jdbc/oracleds</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>
.....略.....
</web-app>就在发贴前,又查了下CSDN里的一些帖子,还是没找到解决办法的..倒是有个人有类似的经历.说是:
" 首先把%Tomcat%\common\lib下的commons-collections-3.1.jar、commons-dbcp-1.2.1.jar、commons-pool-1.2.jar加入你的工程  "
可是,我上tomcat6\lib里去找了,根本没有这三个包....
哪位行家可以帮帮我...

解决方案 »

  1.   

    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    这句是笔误.是配置里的注释.写贴时忘了删了.
      

  2.   

    没有么?那他用的不是6.0啊是tomcat5.x才有common的文件夹的....
    你就自己去把那几个jar下下来+进去试试看不久好了?
      

  3.   

    如果是6.0,不放在common文件夹里也行,在eclipse下直接粘贴到lib下边,他就会自己配置构建路径的..
      

  4.   

    6.0里只有一个tomcat-dbcp.jar包我导进去了.也还是没效果....报一样的错....头大.
      

  5.   

    <Context reloadable="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>    
    <Resource 
    auth="Container" 
    name="jdbc/oracleds" 
    type="javax.sql.DataSource" 
    driverClassName="oracle.jdbc.driver.OracleDriver" 
    url="jdbc:oracle:thin:@127.0.0.1:1521:ora9" 
    username="scott" 
    password="123456" 
    maxIdle="30" 
    maxActive="30" 
    maxWait="1000" />    
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    </Context>为了发便后人查看,把代码修整了下
      

  6.   

    失败...居然又忘了把这行去掉:
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    这行是笔误..是注释语句.忘了删了.