I'm using DB2 8.1 fixpak 5 on Windows XP, using the Sun JDK 1.4.2.
Thanks,
Tom
com.ibm.db2.jcc.b.SQLException: 5
at com.ibm.db2.jcc.b.ce.e(ce.java:1093)
at com.ibm.db2.jcc.b.ce.a(ce.java:884)
at com.ibm.db2.jcc.a.bd.n(bd.java:535)
at com.ibm.db2.jcc.a.bd.i(bd.java:228)
at com.ibm.db2.jcc.a.bd.c(bd.java:54)
at com.ibm.db2.jcc.a.r.c(r.java:53)
at com.ibm.db2.jcc.a.bp.h(bp.java:156)
at com.ibm.db2.jcc.b.ce.j(ce.java:880)
at com.ibm.db2.jcc.b.cf.a(cf.java:1516)
at com.ibm.db2.jcc.b.cf.executeQuery(cf.java:303)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:177)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:177)
at org.apache.ojb.broker.accesslayer.JdbcAccess.executeQuery(JdbcAccess.java:256)
at org.apache.ojb.broker.accesslayer.RsIterator.(RsIterator.java:245)
at org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.(ReportQueryRsIterator.java:84)
at org.apache.ojb.broker.singlevm.ReportRsIteratorFactoryImpl.createRsIterator(ReportRsIteratorFactoryImpl.java:96)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:2491)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getRsIteratorFromQueryExtentAware(PersistenceBrokerImpl.java:1707)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getReportQueryIteratorFromQuery(PersistenceBrokerImpl.java:2548)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getReportQueryIteratorByQuery(PersistenceBrokerImpl.java:2467)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCount(PersistenceBrokerImpl.java:2438)
at org.apache.ojb.broker.accesslayer.RsIterator.countedSize(RsIterator.java:474)
at org.apache.ojb.broker.accesslayer.RsIterator.size(RsIterator.java:501)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1221)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1372)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1398)
at org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1385)
at org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:306)
at au.com.ids.service.persistence.ServiceDAO.findOrdersByStatusAndPlannedInDate(ServiceDAO.java:114)
at au.com.ids.service.businesslogic.BookingConfirmationController.findRepairBookingsByDate(BookingConfirmationController.java:240)
at au.com.ids.service.businesslogic.BookingConfirmationController.retrieveBookingConfirmationLines(BookingConfirmationController.java:307)
at au.com.ids.service.businesslogic.BookingConfirmationController.doInitForm(BookingConfirmationController.java:187)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at au.com.ids.base.businesslogic.BaseController.invokeMethod(BaseController.java:238)
at au.com.ids.base.businesslogic.BaseController.callInitMethod(BaseController.java:45)
at au.com.ids.base.action.CallInitControllerAction.perform(CallInitControllerAction.java:60)
at au.com.ids.base.action.BaseAction.perform(BaseAction.java:149)
at au.com.ids.base.action.BaseAction.execute(BaseAction.java:126)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
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 au.com.ids.base.businesslogic.ResponseOverridingFilter.doFilter(ResponseOverridingFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at au.com.ids.base.businesslogic.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(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.invokeNext(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.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:534)
It's hard to answer this question - or even guess - without more
information. What sort of program is it? A stored procedure? UDF? What is
the program trying to do? (I realize that may be difficult to answer
precisely since none of the stacktrace methods looks as if it is in the
application itself.) Has the program ever worked or is this the first time
you ran it? If it used to work but is now broken, what has changed in your
environment since you last ran it successfully?
I see a lot of Tomcat and Struts methods in the stacktrace. Is this a
servlet or JSP?
Rhino
Thanks for even looking at it! It is a servlet.
Further experimentation shows that under Linux I get the full error
message, but under windows I don't.
The actual error is:
Caused by: com.ibm.db2.jcc.b.SQLException: The value of input host
variable or parameter number "5" cannot be used because of its data
type.
The statement being executed is a prepared statement, and parameter 5
is of type java.sql.Date. It is used in the where clause of the
statement thus:
... DATE(in_date) = ? ...
in_date is a timestamp column.
The interesting thing is that the statement is fine with the older
db2java.zip JDBC driver (COM.ibm.db2.jdbc.app.DB2Driver), but using
the jcc driver (com.ibm.db2.jcc.DB2Driver) the error occurs.
Tom