救助:tomcat 连接池 异常

schneider04 2008-05-30 12:38:56
已经搞了一天了.问了很多朋友,也找了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里去找了,根本没有这三个包....
哪位行家可以帮帮我...
...全文
242 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
schneider04 2008-05-31
  • 打赏
  • 举报
回复
失败...居然又忘了把这行去掉:
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
这行是笔误..是注释语句.忘了删了.
schneider04 2008-05-31
  • 打赏
  • 举报
回复
<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>


为了发便后人查看,把代码修整了下
schneider04 2008-05-30
  • 打赏
  • 举报
回复
6.0里只有一个tomcat-dbcp.jar包我导进去了.也还是没效果....报一样的错....头大.
fys249931556 2008-05-30
  • 打赏
  • 举报
回复
如果是6.0,不放在common文件夹里也行,在eclipse下直接粘贴到lib下边,他就会自己配置构建路径的..
yami251139 2008-05-30
  • 打赏
  • 举报
回复
没有么?那他用的不是6.0啊是tomcat5.x才有common的文件夹的....
你就自己去把那几个jar下下来+进去试试看不久好了?
schneider04 2008-05-30
  • 打赏
  • 举报
回复
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
这句是笔误.是配置里的注释.写贴时忘了删了.
kokobox 2008-05-30
  • 打赏
  • 举报
回复
lz 给你传个ojdbc14.jar
schneider04 2008-05-30
  • 打赏
  • 举报
回复
谁来帮帮我啊....还是搞不定啊....

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧