According to the doc "JNDI Datasource HOW-TO", i setup the connection pool using DBCP, everything is the same as what the doc shows except for the oracle sid and user/pass. But when i boot up tomcat, something happened. The page which use sql select is correct while if i use sql update function a OracleXMLSQLException occured, Which is caused by class cast i think. The sql statement including select,insert,update and delete all implemented with xdk for oracle. the logfile shows: StandardWrapperValve[Login]: Servlet.service() for servlet Login threw exception oracle.xml.sql.OracleXMLSQLException: java.lang.ClassCastException at oracle.xml.sql.dml.OracleXMLSave.saveXML(OracleXMLSave.java:2088) at oracle.xml.sql.dml.OracleXMLSave.updateXML(OracleXMLSave.java:1443) at XMLBean.execute(XMLBean.java:101) at ControlBean.setTime(ControlBean.java:491) at Login._jspService(Login.java:184) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2396) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNex t(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process (HttpProcessor.java:1040) at org.apache.catalina.connector.http.HttpProcessor.run (HttpProcessor.java:1151) at java.lang.Thread.run(Thread.java:536) the 101 line of XMLBean.java is s.updateXML(Doc), s is a instance of OracleXMLSave and Doc is a string.
Please use the tomcat-user list to debug.