Tibero 4.0 + *QueryService 를 이용해서 database를 연결해서 사용하고자 합니다.
결과 값을 넘겨주는 CallableStatement 를 사용하는 프로시져를 호출 하고자 할때 다음과 같은 에러가 발생합니다.
2010-08-18 12:53:26,687 ERROR [anyframe.core.query.IQueryService] Query Service : Fail to execute statement [query id = 'call_syncSvcCiTrAndMbSvcTr'].
Query = [CALL syncSvcCiTrAndMbSvcTr(?)]
Reason = [CallableStatementCallback; uncategorized SQLException for SQL [CALL syncSvcCiTrAndMbSvcTr(?)]; SQL state [null]; error code [-90201]; TJDBC-90201:Unsupported operation.; nested exception is com.tmax.tibero.jdbc.TbSQLException: TJDBC-90201:Unsupported operation.].
org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [CALL syncSvcCiTrAndMbSvcTr(?)]; SQL state [null]; error code [-90201]; TJDBC-90201:Unsupported operation.; nested exception is com.tmax.tibero.jdbc.TbSQLException: TJDBC-90201:Unsupported operation.
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:952)
at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:985)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:324)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:291)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:286)
at com.sds.maxigent.mitw.components.mboard.sync.MboardSyncMgmtImpl.syncMboardSvcTrFromSvcCiTr(MboardSyncMgmtImpl.java:111)
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:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy53.syncMboardSvcTrFromSvcCiTr(Unknown Source)
at com.sds.maxigent.mitw.action.mboard.admin.AdminMboardModelingAction.syncMboardServiceTree(AdminMboardModelingAction.java:497)
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:585)
at anyframe.web.struts.action.DefaultDispatchActionSupport.dispatchMethod(DefaultDispatchActionSupport.java:215)
at anyframe.web.struts.action.DefaultDispatchActionSupport.process(DefaultDispatchActionSupport.java:141)
at anyframe.web.struts.action.AbstractActionSupport.execute(AbstractActionSupport.java:103)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.tmax.tibero.jdbc.TbSQLException: TJDBC-90201:Unsupported operation.
at com.tmax.tibero.jdbc.TbCallableStatement.registerOutParameter(TbCallableStatement.java:877)
at org.apache.commons.dbcp.DelegatingCallableStatement.registerOutParameter(DelegatingCallableStatement.java:171)
at org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.createCallableStatement(CallableStatementCreatorFactory.java:192)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:930)
... 52 more
Root cause follows.
com.tmax.tibero.jdbc.TbSQLException: TJDBC-90201:Unsupported operation.
at com.tmax.tibero.jdbc.TbCallableStatement.registerOutParameter(TbCallableStatement.java:877)
at org.apache.commons.dbcp.DelegatingCallableStatement.registerOutParameter(DelegatingCallableStatement.java:171)
at org.springframework.jdbc.core.CallableStatementCreatorFactory$CallableStatementCreatorImpl.createCallableStatement(CallableStatementCreatorFactory.java:192)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:930)
at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:985)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:324)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:291)
at anyframe.core.query.impl.QueryServiceImpl.execute(QueryServiceImpl.java:286)
at com.sds.maxigent.mitw.components.mboard.sync.MboardSyncMgmtImpl.syncMboardSvcTrFromSvcCiTr(MboardSyncMgmtImpl.java:111)
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:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.aspectj.AspectJAfterThrowingAdvice.invoke(AspectJAfterThrowingAdvice.java:54)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy53.syncMboardSvcTrFromSvcCiTr(Unknown Source)
at com.sds.maxigent.mitw.action.mboard.admin.AdminMboardModelingAction.syncMboardServiceTree(AdminMboardModelingAction.java:497)
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:585)
at anyframe.web.struts.action.DefaultDispatchActionSupport.dispatchMethod(DefaultDispatchActionSupport.java:215)
at anyframe.web.struts.action.DefaultDispatchActionSupport.process(DefaultDispatchActionSupport.java:141)
at anyframe.web.struts.action.AbstractActionSupport.execute(AbstractActionSupport.java:103)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
이런 경우를 어떻게 처리해야 하나요~? 고수님들의 조언 부탁 드립니다.
*QueryService는 Anyframe에서 사용하는 DB연동 프레임워크로 ibatis나hibernate와 비슷하게 xml기반으로 DB를 사용하는
프레임 워크 입니다.
|