Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: JDBC THIN driver10g query issue
Well, that may be your problem. An Oracle number(38) *can* hold a bigger
value than a Java Long... I suggest switching to getting a BigDecimal.
Joe Weinstein at BEA
Christophe Bonte wrote:
> Sorry. The column I was talking about has datatype NUMBER (38), not long and
> not date.
> ***
> ***
>
> Hello
>
> It's true. I can see more useful information now :). Here below the
> beginning part of the stacktrace.
>
> java.sql.SQLException: Numeric Overflow
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
> at
> oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:6797) at oracle.jdbc.driver.NumberCommonAccessor.getLong(NumberCommonAccessor.java:499) at oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:521) at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:1617) at be.mips.cyberlab.util.ResultSetEx.getDate(ResultSetEx.java:117) at be.mips.cyberlab.business.Observation.findByPatient(Observation.java:690) It looks like it happens with a query where i select a field that containsa date. When fetching the records the error seems to occur with with the getLong method of the resultset object. To avoid confusion, this column I'm talking about has the NUMBER (38) datatype, not date. It contains a number(= milliseconds after January 1, 1970, 0:00:00 GMT). Those are rather big numbers (for example 1009797793000, 1009530557171, ...). What could possibly be wrong? I'll google some more in the
meantime. Thanks in advance. Christophe> "Joe Weinstein" <joeNOSPAM_at_bea.com> wrote in messagenews:41EBF5A1.1000506_at_bea.com...>>>>>> Christophe Bonte wrote:>>>>> Hello>>>>>> Here's the stacktrace below. I don't really know where to look fore moreinformation though: Tomcat forums, Oracle forums? Information that I findabout 'numeric overflow' is very vague. I only have this when I use the THINdriver. Everything works just fine with OCI.>> ...>>> be.mips.cyberlab.exception.MipsDBSelectException: Observation.java :java.sql.SQLException Numeric Overflow>>> atbe.mips.cyberlab.business.Observation.findByPatient(Observation.java:743)>>>> Hi. The trouble is that the code in Observation.java is catching the>> original Numeric Overflow error and creating a SQLException to throw.>> Can you look at that code? Can you print out the full original stacktrace>> of the Numeric Overflow exception?>>>> Joe Weinstein at BEA>>>>> atbe.mips.cyberlab.web.resultconsultation.Observati onContainer.loadObservations(ObservationContainer.java:93)>>> atbe.mips.cyberlab.web.resultconsultation.Manager.executeCommand(Manager.java:213)>>> atbe.mips.cyberlab.web.FrontDoor.getHtmlForServlet(FrontDoor.java:115)>>> at be.mips.cyberlab.web.AServlet.doGet(AServlet.java:70)>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)>>> atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)>>> atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)>>> atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> ator g.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)>>> atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)>>> atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)>>> atorg.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)>>> at java.lang.Thread.run(Thread.java:536)>>> be.mip s.cyberlab.exception.MipsException:be.mips.cyberlab.web.resultconsultation.Manager :be.mips.cyberlab.exception.M>>> ipsDBSelectException Observation.java : java.sql.SQLException NumericOverflow>>> atbe.mips.cyberlab.web.resultconsultation.Manager.executeCommand(Manager.java:302)>>> atbe.mips.cyberlab.web.FrontDoor.getHtmlForServlet(FrontDoor.java:115)>>> at be.mips.cyberlab.web.AServlet.doGet(AServlet.java:70)>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)>>> atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)>>> atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)>>> atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN ext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)>>> atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:1 70)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)>>> atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)>>> atorg.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)>>> atorg.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)>>> atorg.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)>>> atorg.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:458)>>> atorg.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:551)>>> at java.lang.Thread.run(Thread.java:536)>>>>
![]() |
![]() |