개발환경 :
웹로직 10.0 MP1
오라클 10.2.0.3
이런 오류가 떨이진다..
java.sql.SQLException: executeBatch, Exception = null
at weblogic.jdbc.wrapper.JDBCWrapperImpl.invocationExceptionHandler(JDBCWrapperImpl.java:141)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:164)
at com.tys.frameplus.dataplus.core.DataManager.updatePrepared(DataManager.java:836)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:340)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:204)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:190)
at com.tys.frameplus.dataplus.core.SQLProcessor.execUpdate(SQLProcessor.java:709)
at com.tys.frameplus.dataplus.core.SQLProcessor.execute(SQLProcessor.java:342)
at com.tys.frameplus.dataplus.core.SQLProcessor.execute(SQLProcessor.java:199)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB.modifyAcntCodAdmn(ExcelEJB.java:429)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB.process(ExcelEJB.java:125)
at com.tys.frameplus.core.ejb.GenericEJB.preProcess(GenericEJB.java:127)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl.preProcess(ExcelEJB_49r0y4_EOImpl.java:61)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl_1001_WLStub.preProcess(Unknown Source)
at com.tys.frameplus.core.invoker.RemoteEJBInvoker.invoke(RemoteEJBInvoker.java:74)
at com.tys.frameplus.util.BizInvokerUtil.delegate(BizInvokerUtil.java:83)
at com.tys.frameplus.util.BizBrokerUtil.callBizBroker(BizBrokerUtil.java:160)
at com.tys.frameplus.util.BizBrokerUtil.callACBizBroker(BizBrokerUtil.java:82)
at com.tys.frameplus.util.BizBrokerUtil.callDCBizBroker(BizBrokerUtil.java:100)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB.importAcntCodAdmn(ExcelEJB.java:414)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB.process(ExcelEJB.java:75)
at com.tys.frameplus.core.ejb.GenericEJB.preProcess(GenericEJB.java:127)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl.preProcess(ExcelEJB_49r0y4_EOImpl.java:61)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl_1001_WLStub.preProcess(Unknown Source)
at com.tys.frameplus.core.invoker.RemoteEJBInvoker.invoke(RemoteEJBInvoker.java:74)
at com.tys.frameplus.core.BizBroker.delegate(BizBroker.java:100)
at com.tys.frameplus.miplatform.ActionController.callBizBroker(ActionController.java:203)
at com.tys.frameplus.miplatform.eam.MiController.processRequest(MiController.java:130)
at com.tys.frameplus.core.GenericController.doPost(GenericController.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.tys.frameplus.miplatform.GenericAuthFilter.processFilter(GenericAuthFilter.java:154)
at com.tys.frameplus.miplatform.GenericAuthFilter.doFilter(GenericAuthFilter.java:67)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
자바에서 제공하는 executeBatch 함수와 addBatch함수를 이용하여 개발하고 있는데.. (성능을 위해서..)
이런 특이한 오류가 발견되는것이 아닌가.. 음..
입력하려는 데이터는 약 1200건 정도..
데이터가 많은 양도 아닌데.. 오류가 발생하여 이상하다고 생각..
아래와 같은 것을 시도해 보았다..
1. JDBC드라이버 버전을 높은것으로 변경
오라클에 버그가 무지 많은것은 아는사람은 다 아는것.. ㅡ,.ㅡ
jdbc드라이버도 버그가 상당하다.
기본적으로 웹로직 10에서 제공하는 버전은 10.2.0.2
최신의 버전은 10.2.0.4
그래서 10.2.0.4로 업데이트를 해보았다..
동일한 증상. ㅡ,.ㅡ
뭘어떻게 하면 될까.. 모르겠다. 아웅.. 짜증나.
웹로직 10.0 MP1
오라클 10.2.0.3
이런 오류가 떨이진다..
java.sql.SQLException: executeBatch, Exception = null
at weblogic.jdbc.wrapper.JDBCWrapperImpl.invocationExceptionHandler(JDBCWrapperImpl.java:141)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:164)
at com.tys.frameplus.dataplus.core.DataManager.updatePrepared(DataManager.java:836)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:340)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:204)
at com.tys.frameplus.dataplus.core.DataManager.execute(DataManager.java:190)
at com.tys.frameplus.dataplus.core.SQLProcessor.execUpdate(SQLProcessor.java:709)
at com.tys.frameplus.dataplus.core.SQLProcessor.execute(SQLProcessor.java:342)
at com.tys.frameplus.dataplus.core.SQLProcessor.execute(SQLProcessor.java:199)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB.modifyAcntCodAdmn(ExcelEJB.java:429)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB.process(ExcelEJB.java:125)
at com.tys.frameplus.core.ejb.GenericEJB.preProcess(GenericEJB.java:127)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl.preProcess(ExcelEJB_49r0y4_EOImpl.java:61)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at com.tyli.egis.core.vi.dc.ExcelMGT.ExcelEJB_49r0y4_EOImpl_1001_WLStub.preProcess(Unknown Source)
at com.tys.frameplus.core.invoker.RemoteEJBInvoker.invoke(RemoteEJBInvoker.java:74)
at com.tys.frameplus.util.BizInvokerUtil.delegate(BizInvokerUtil.java:83)
at com.tys.frameplus.util.BizBrokerUtil.callBizBroker(BizBrokerUtil.java:160)
at com.tys.frameplus.util.BizBrokerUtil.callACBizBroker(BizBrokerUtil.java:82)
at com.tys.frameplus.util.BizBrokerUtil.callDCBizBroker(BizBrokerUtil.java:100)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB.importAcntCodAdmn(ExcelEJB.java:414)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB.process(ExcelEJB.java:75)
at com.tys.frameplus.core.ejb.GenericEJB.preProcess(GenericEJB.java:127)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl.preProcess(ExcelEJB_49r0y4_EOImpl.java:61)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
at com.tyli.egis.core.vi.ac.ExcelMGT.ExcelEJB_49r0y4_EOImpl_1001_WLStub.preProcess(Unknown Source)
at com.tys.frameplus.core.invoker.RemoteEJBInvoker.invoke(RemoteEJBInvoker.java:74)
at com.tys.frameplus.core.BizBroker.delegate(BizBroker.java:100)
at com.tys.frameplus.miplatform.ActionController.callBizBroker(ActionController.java:203)
at com.tys.frameplus.miplatform.eam.MiController.processRequest(MiController.java:130)
at com.tys.frameplus.core.GenericController.doPost(GenericController.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.tys.frameplus.miplatform.GenericAuthFilter.processFilter(GenericAuthFilter.java:154)
at com.tys.frameplus.miplatform.GenericAuthFilter.doFilter(GenericAuthFilter.java:67)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3393)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)
at weblogic.servlet.internal.ServletRequestImpl.run(Unknown Source)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
자바에서 제공하는 executeBatch 함수와 addBatch함수를 이용하여 개발하고 있는데.. (성능을 위해서..)
이런 특이한 오류가 발견되는것이 아닌가.. 음..
입력하려는 데이터는 약 1200건 정도..
데이터가 많은 양도 아닌데.. 오류가 발생하여 이상하다고 생각..
아래와 같은 것을 시도해 보았다..
1. JDBC드라이버 버전을 높은것으로 변경
오라클에 버그가 무지 많은것은 아는사람은 다 아는것.. ㅡ,.ㅡ
jdbc드라이버도 버그가 상당하다.
기본적으로 웹로직 10에서 제공하는 버전은 10.2.0.2
최신의 버전은 10.2.0.4
그래서 10.2.0.4로 업데이트를 해보았다..
동일한 증상. ㅡ,.ㅡ
뭘어떻게 하면 될까.. 모르겠다. 아웅.. 짜증나.
- 추가 09/08/10
어떤분이 해당 내용으로 질문을 하셨길래 정리해보았습니다.
우선 결론부터 말씀드리면..
답을 모르겠다입니다.ㅜㅜ
그냥 어쩌다가 해결이 되었는데....
제가 취한 조치는 아래와 같습니다.
1. 혹시 ibatis나 이런거 사용하신다면 쿼리에 줄바꿈/Tab과 같은 특수문자가 들어가는 경우가 많은데요. 이런 경우가 의심되어 모두삭제
2. 진짜 쿼리에 문제가 있는경우가 의심되더군요.. 일부만이라도 쿼리를 바꿔보세요.
3. 오라클 Function 을 사용하는 경우 . Function에서 오류가 발생했을 가능성.
4. parameter를 넣어주는데 null이 들어가는경우.. 혹은 parameter갯수나 위치가 바뀐경우.
위와 같이 저는 추축하고 있습니다만..
어찌어찌하다보니 해결이 되었습니다. 저는 4번을 강력히 의심하고 있답니다. ^^
답이 되었는지.. 도움이 되었는지 모르겠네요. ^^
어떤분이 해당 내용으로 질문을 하셨길래 정리해보았습니다.
우선 결론부터 말씀드리면..
답을 모르겠다입니다.ㅜㅜ
그냥 어쩌다가 해결이 되었는데....
제가 취한 조치는 아래와 같습니다.
1. 혹시 ibatis나 이런거 사용하신다면 쿼리에 줄바꿈/Tab과 같은 특수문자가 들어가는 경우가 많은데요. 이런 경우가 의심되어 모두삭제
2. 진짜 쿼리에 문제가 있는경우가 의심되더군요.. 일부만이라도 쿼리를 바꿔보세요.
3. 오라클 Function 을 사용하는 경우 . Function에서 오류가 발생했을 가능성.
4. parameter를 넣어주는데 null이 들어가는경우.. 혹은 parameter갯수나 위치가 바뀐경우.
위와 같이 저는 추축하고 있습니다만..
어찌어찌하다보니 해결이 되었습니다. 저는 4번을 강력히 의심하고 있답니다. ^^
답이 되었는지.. 도움이 되었는지 모르겠네요. ^^
'4. 테크니컬&팁' 카테고리의 다른 글
Your Account has been locked. (0) | 2010.03.31 |
---|---|
NoClassDefFoundError에 이리저리 클래스를 찾아 다니시는 당신에게.. (0) | 2009.11.20 |
이클립스 유로파 철자 검색 해제 (2) | 2007.07.13 |
IBM DB2에 대한 간단 리뷰 (0) | 2007.04.01 |
Nate On 가끔 뉴스가 짜증날때. (1) | 2006.10.24 |