> Can anyone tell me how to find out what causes this error -- the
> message is not very revealing!
[quoted text clipped - 16 lines]
> at com.ibm.db2.jcc.b.cf.executeQuery(cf.java:303)
> at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingP
reparedStatement.java:177)
> at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingP
reparedStatement.java:177)
> at
org.apache.ojb.broker.accesslayer.JdbcAccess.executeQuery(JdbcAccess.java:25
6)
> at org.apache.ojb.broker.accesslayer.RsIterator.(RsIterator.java:245)
> at
org.apache.ojb.broker.accesslayer.ReportQueryRsIterator.(ReportQueryRsIterat
or.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.getRsIteratorFromQueryE
xtentAware(PersistenceBrokerImpl.java:1707)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getReportQueryIteratorF
romQuery(PersistenceBrokerImpl.java:2548)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getReportQueryIteratorB
yQuery(PersistenceBrokerImpl.java:2467)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCount(PersistenceBro
kerImpl.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(Pe
rsistenceBrokerImpl.java:1221)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1372)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1398)
> at
org.apache.ojb.broker.singlevm.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1385)
> at
org.apache.ojb.broker.singlevm.DelegatingPersistenceBroker.getCollectionByQu
ery(DelegatingPersistenceBroker.java:306)
> at
au.com.ids.service.persistence.ServiceDAO.findOrdersByStatusAndPlannedInDate
(ServiceDAO.java:114)
> at
au.com.ids.service.businesslogic.BookingConfirmationController.findRepairBoo
kingsByDate(BookingConfirmationController.java:240)
> at
au.com.ids.service.businesslogic.BookingConfirmationController.retrieveBooki
ngConfirmationLines(BookingConfirmationController.java:307)
> at
au.com.ids.service.businesslogic.BookingConfirmationController.doInitForm(Bo
okingConfirmationController.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.jav
a:238)
> at
au.com.ids.base.businesslogic.BaseController.callInitMethod(BaseController.j
ava:45)
> at
au.com.ids.base.action.CallInitControllerAction.perform(CallInitControllerAc
tion.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(RequestProces
sor.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(Application
FilterChain.java:247)
> at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
> at
au.com.ids.base.businesslogic.ResponseOverridingFilter.doFilter(ResponseOver
ridingFilter.java:61)
> at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
> at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
> at
au.com.ids.base.businesslogic.SetCharacterEncodingFilter.doFilter(SetCharact
erEncodingFilter.java:147)
> at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
> at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
> at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.ja
va:191)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
> at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.invok
eNext(StandardPipeline.java:643)
> at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
> at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
> at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
> at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.invok
eNext(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.processConne
ction(Http11Protocol.java:392)
> at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
> at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a: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
Tom Davies - 30 Jun 2004 07:54 GMT
> > Can anyone tell me how to find out what causes this error -- the
> > message is not very revealing!
[snip]
> 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
[quoted text clipped - 6 lines]
> I see a lot of Tomcat and Struts methods in the stacktrace. Is this a
> servlet or JSP?
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