2016-11-14 6 views
5

जब मैं डेटाबेस पर एक साधारण चयन कर रहा हूं, तो मुझे ओरेकल/हाइबरनेट से संबंधित एक समस्या का सामना करना पड़ रहा है, और मुझे कहीं भी कोई उपयोगी जानकारी नहीं मिल रही है इस मुद्दे। एप्लिकेशन अपने आप को प्रश्न बनाने के लिए स्प्रिंग डेटा का उपयोग करता है। डेटाबेस ओरेकल 11.02.0.4 है, और जेडीबीसी ड्राइवर का एक ही संस्करण है।एसक्यूएल त्रुटि 17268: सीमा से बाहर वर्ष (जावा/वसंत)

SQL Error is 17268 : Year out of range.

मैं जानता हूँ कि संदेश काफी स्पष्ट है, लेकिन जब मैन्युअल रूप से डेटाबेस पर क्वेरी लॉग में मुद्रित कर रही है, मेरे पास कोई मुद्दा है और देखो दिनांक फ़ील्ड के वर्ष में अच्छी तरह से 2016 तक सेट है। ..

मैंने उन क्षेत्रों को मैप मैपिंग के साथ Date और Timestamp, उसी त्रुटि पर मैप करने की कोशिश की है। अजीब चीज यह है कि समस्या अचानक क्लाइंट के लिए दिखाई दी, और मैं इस मुद्दे को अपने पर्यावरण पर पुन: उत्पन्न करने में असमर्थ हूं (क्लाइंट वेबस्पेयर 8.5.5 चला रहा है)।

कोई भी पॉइंटर्स जहां यह त्रुटि आ सकती है, या मुझे किस जांच की जानी चाहिए?

देखें स्टैक ट्रेस नीचे:

[11/14/16 12:05:03:370 CET] 000000d6 SystemOut  O 12:05:03.370 [WebContainer : 1] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 17268, SQLState: 99999 
[11/14/16 12:05:03:371 CET] 000000d6 SystemOut  O 12:05:03.371 [WebContainer : 1] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Year out of range. 
[11/14/16 12:05:03:406 CET] 000000d6 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught service() exception root cause dispatcher: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.GenericJDBCException: could not execute statement; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1114) 
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3926) 
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1007) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287) 
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1049) 
    at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:643) 
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) 
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) 
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881) 
Caused by: org.springframework.orm.jpa.JpaSystemException: org.hibernate.exception.GenericJDBCException: could not execute statement; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement 
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:415) 
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:418) 
    at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59) 
    at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213) 
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodIntercceptor.invoke(CrudMethodMetadataPostProcessor.java:111) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) 
    at com.sun.proxy.$Proxy83.findByEnvelopeIdAndStatusInAndCurrentVersionOrderByTecidAsc(Unknown Source) 
    ... 
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) 
    ... 
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) 
    ... 
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) 
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) 
    ... 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) 
    at java.lang.reflect.Method.invoke(Method.java:620) 
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) 
    ... 29 more 
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute statement 
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763) 
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677) 
    at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:458) 
    at org.hibernate.jpa.criteria.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:67) 
    at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:110) 
    at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:74) 
    at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:97) 
    at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:88) 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:395) 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:373) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) 
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) 
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) 
    ... 72 more 
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement 
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) 
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) 
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) 
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:190) 
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3285) 
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3183) 
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3525) 
    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:158) 
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:453) 
    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:345) 
    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350) 
    at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:67) 
    at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1187) 
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1253) 
    at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) 
    at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573) 
    at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449) 
    ... 85 more 
Caused by: java.sql.SQLException: Year out of range. 
    at oracle.jdbc.driver.DateCommonBinder.setOracleCYMD(OraclePreparedStatement.java:19395) 
    at oracle.jdbc.driver.TimestampBinder.bind(OraclePreparedStatement.java:19668) 
    at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:3166) 
    at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2378) 
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3608) 
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3694) 
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1354) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteUpdate(WSJdbcPreparedStatement.java:1187) 
    at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate(WSJdbcPreparedStatement.java:804) 
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:187) 
    ... 98 more 

जनरेट किया क्वेरी:

select 
    documentdb0_.tecid as tecid1_3_, 
    documentdb0_.comments_nb as comments_nb2_3_, 
    documentdb0_.content_path as content_path3_3_, 
    documentdb0_.content_size as content_size4_3_, 
    documentdb0_.creation_date as creation_date5_3_, 
    documentdb0_.creator as creator6_3_, 
    documentdb0_.current_version as current_version7_3_, 
    documentdb0_.docfamily as docfamily8_3_, 
    documentdb0_.doctype as doctype9_3_, 
    documentdb0_.attached_document_id as attached_document10_3_, 
    documentdb0_.envelope_id as envelope_id11_3_, 
    documentdb0_.filename as filename12_3_, 
    documentdb0_.hash as hash13_3_, 
    documentdb0_.mime_type as mime_type14_3_, 
    documentdb0_.modify_date as modify_date15_3_, 
    documentdb0_.name as name16_3_, 
    documentdb0_.number_of_pages as number_of_pages17_3_, 
    documentdb0_.parent_id as parent_id18_3_, 
    documentdb0_.root_id as root_id19_3_, 
    documentdb0_.serie as serie20_3_, 
    documentdb0_.status as status21_3_, 
    documentdb0_.teclock as teclock22_3_, 
    documentdb0_.version_id as version_id23_3_ 
from 
    tb_document documentdb0_ 
where 
    documentdb0_.envelope_id=44104 
    and (documentdb0_.status in (‘TO_SIGN')) 
    and documentdb0_.current_version=1 
order by 
    documentdb0_.tecid asc 

नमूना डेटा क्वेरी (स्वयं) द्वारा पुनः प्राप्त:

TECID1_3_;COMMENTS_NB2_3_;CONTENT_PATH3_3_;CONTENT_SIZE4_3_;CREATION_DATE5_3_;CREATOR6_3_;CURRENT_VERSION7_3_;DOCFAMILY8_3_;DOCTYPE9_3_;ATTACHED_DOCUMENT10_3_;ENVELOPE_ID11_3_;FILENAME12_3_;HASH13_3_;MIME_TYPE14_3_;MODIFY_DATE15_3_;NAME16_3_;NUMBER_OF_PAGES17_3_;PARENT_ID18_3_;ROOT_ID19_3_;SERIE20_3_;STATUS21_3_;TECLOCK22_3_;VERSION_ID23_3_ 
55054;0;/data/f5cbf3373b4d7bdc5abfc7df92334f54-20161024091158880.pdf;190354;24-oct-16;993513;1;329;203;;44104;22878767.pdf;f5cbf3373b4d7bdc5abfc7df92334f54;application/pdf;24-oct-16;CONSENT;2;;55054;11;TO_SIGN;3;1 
+1

क्या आप अपनी एसक्यूएल क्वेरी पोस्ट कर सकते हैं? और एक उदाहरण के रूप में एक tuple डेटा – karelss

+0

और इस ftp://208.84.222.41/Oracle/Ora11g/jdbc/Readme.txt को अपने ओआरए कोड के लिए देखें, ऐसा लगता है हो सकता है कि आपको अपने ओआरएम संस्करण को अपग्रेड करना होगा या जांचें कि क्या वे बदलाव आपको प्रभावित कर सकते हैं – karelss

+0

मुझे लगता है कि आप निश्चित रूप से कहीं भी परिवर्तित हो रहे हैं और डेटाबेस एनएलएस सेटिंग्स से प्रभावित हो रहे हैं, लेकिन कोड के बिना यह कहना असंभव है। – Ben

उत्तर

5

मुद्दा वास्तव में अजीब नहीं जावा द्वारा इंगित लाइन पर, जिसने मुझे कहीं भी नेतृत्व नहीं किया। चरण-दर-चरण डिबगिंग मोड में, मैंने एक अद्यतन क्वेरी पर ठोकर खाई है जो चयन से पहले कोई समस्या उत्पन्न कर रहा था।

अद्यतन के दौरान वर्ष 10000 के साथ एक तिथि पेश की जा रही थी, जब ओरेकल द्वारा अधिकतम समर्थित दिनांक 99 99 है। यह बहती हुई तारीख किसी अन्य प्रणाली से पढ़ने की समय सीमा के कारण थी, और 31/12/9999 23 को परिभाषित किया गया था : 23: 5 9: खराब समय के साथ इसे 10000 जनवरी के रूप में पढ़ा गया था।

संबंधित मुद्दे