Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cryptic JDBC exception

2 views
Skip to first unread message

Tom Davies

unread,
Jun 28, 2004, 11:47:51 PM6/28/04
to
Can anyone tell me how to find out what causes this error -- the
message is not very revealing!

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)

Rhino

unread,
Jun 29, 2004, 8:47:46 AM6/29/04
to

"Tom Davies" <tomd...@optusnet.com.au> wrote in message
news:5c5a0cb3.04062...@posting.google.com...

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

unread,
Jun 30, 2004, 2:54:55 AM6/30/04
to
"Rhino" <rhi...@NOSPAM.sympatico.ca> wrote in message news:<xxdEc.164048$207.8...@news20.bellglobal.com>...

> "Tom Davies" <tomd...@optusnet.com.au> wrote in message
> news:5c5a0cb3.04062...@posting.google.com...
> > 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
> 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?

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

0 new messages