程序调用存储过程中报错 DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727, SQLERRMC=4096;

本文介绍了解决DB2数据库中存储过程调用失败的问题。通过分析SQLSTATE=42727错误,发现可能的原因是临时表空间不足,并提供了一种解决方案:创建新的用户临时表空间。

创建数据库后,新增存储过程没问题,启动程序调用存储过程时报错:DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727, SQLERRMC=4096;DB2INST1, DRIVER=4.14.137


SQLSTATE=42727 网上查了一下,说是表空间页太小。经确认建库时表空间页大小为32K,故排除原因。

个人分析了一下,存储过程中使用了临时表,可能是临时表空间不足引起的问题。

1)新建一个用户临时表空间temp,命令如下:

CREATE  USER TEMPORARY  TABLESPACE TEMP PAGESIZE 32 K  MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14 BUFFERPOOL  IBMDEFAULTBP ;
CONNECT RESET;

2)执行成功后,程序调用存储过程问题解决。


... at com.alibaba.yunbi.v2.query.service.SqlPreviewServiceImpl$$EnhancerBySpringCGLIB$$97d101c7.previewSqlData(<generated>) at com.alibaba.yunbi.v2.query.controller.SqlPreviewController.previewSqlData(SqlPreviewController.java:82) at com.alibaba.yunbi.v2.query.controller.SqlPreviewController$$FastClassBySpringCGLIB$$af09b704.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ... at com.alibaba.yunbi.v2.query.performance.QueryPerformanceAspect.recordApiPerformance(QueryPerformanceAspect.java:163) at sun.reflect.GeneratedMethodAccessor253.invoke(Unknown Source) ... at com.alibaba.yunbi.v2.common.service.aop.SentinelFlowControlAspect.doPrepare(SentinelFlowControlAspect.java:79) at sun.reflect.GeneratedMethodAccessor331.invoke(Unknown Source) ... at com.alibaba.yunbi.v2.query.controller.SqlPreviewController$$EnhancerBySpringCGLIB$$6b7a5f97.previewSqlData(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... at com.alibaba.yunbi.server.filter.InstanceFilter.doFilter(InstanceFilter.java:105) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.LicenseFilter.doFilter(LicenseFilter.java:124) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.ServiceLevelAgreementFilter.doFilter(ServiceLevelAgreementFilter.java:46) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.GrayScaleFilter.doFilter(GrayScaleFilter.java:88) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.GlobalParamFilter.doFilter(GlobalParamFilter.java:89) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.LocaleFilter.doFilter(LocaleFilter.java:63) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) ... at com.alibaba.yunbi.server.filter.UserAccessFilter.doFilter(UserAccessFilter.java:255) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.ly.sso.adapter.core.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:94) at com.alibaba.yunbi.v2.sso.NewUserAccessFilter.doFilter(NewUserAccessFilter.java:83) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.TbSessionFilter.doFilter(TbSessionFilter.java:51) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.RequestOriginFilter.doFilter(RequestOriginFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) ... at com.alibaba.yunbi.server.filter.ResponseWrapperFilter.doFilter(ResponseWrapperFilter.java:54) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.EntranceFilter.doFilter(EntranceFilter.java:89) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... at com.alibaba.yunbi.server.filter.CustomCharacterEncodingFilter.doFilterInternal(CustomCharacterEncodingFilter.java:55) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ... at com.alibaba.yunbi.server.filter.PreHandleFilter.doFilter(PreHandleFilter.java:36) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) ... Caused by: java.lang.RuntimeException: java.lang.RuntimeException: SQL execute error by datasource... com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=OFFSET 0 ROWS;ystem ) TS712333852;<space>, DRIVER=4.14.146 com.ibm.db2.jcc.am.ed.a(ed.java:677) com.ibm.db2.jcc.am.ed.a(ed.java:60) com.ibm.db2.jcc.am.ed.a(ed.java:127) com.ibm.db2.jcc.am.oo.c(oo.java:2730) com.ibm.db2.jcc.am.oo.d(oo.java:2718) at com.alibaba.nox.connector.action.executor.JdbcTemplate.execute(JdbcTemplate.java:321) at com.alibaba.nox.connector.action.task.impl.jdbc.JdbcDataQueryTaskImpl.executeQuery(JdbcDataQueryTaskImpl.java:91) at com.alibaba.nox.connector.action.director.DataQueryServiceImpl.executeQuery(DataQueryServiceImpl.java:79) at com.alibaba.nox.connector.action.director.DataQueryServiceImpl$$FastClassBySpringCGLIB$$f9374538.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ... at com.alibaba.quickbi.pluginx.core.AbstractAdviceExecute.doExecute(AbstractAdviceExecute.java:89) at com.alibaba.yunbi.v2.plugin.pluginx.adaptor.query.post.CubeQueryPostAdvice.around(CubeQueryPostAdvice.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ... at com.alibaba.nox.connector.action.director.DataQueryServiceImpl$$EnhancerBySpringCGLIB$$7cba04ee.executeQuery(<generated>) at com.alibaba.yunbi.v2.xengine.executor.task.taskexecutor.DefaultTaskExecutor.executeNewQuery(DefaultTaskExecutor.java:337) ... 218 more Caused by: java.lang.RuntimeException: SQL execute error by datasource... com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=OFFSET 0 ROWS;ystem ) TS712333852;<space>, DRIVER=4.14.146 com.ibm.db2.jcc.am.ed.a(ed.java:677) com.ibm.db2.jcc.am.ed.a(ed.java:60) com.ibm.db2.jcc.am.ed.a(ed.java:127) com.ibm.db2.jcc.am.oo.c(oo.java:2730) com.ibm.db2.jcc.am.oo.d(oo.java:2718) at com.alibaba.nox.connector.action.task.impl.jdbc.JdbcDataQueryTaskImpl$1.call(JdbcDataQueryTaskImpl.java:240) at com.alibaba.nox.connector.action.task.impl.jdbc.JdbcDataQueryTaskImpl$1.call(JdbcDataQueryTaskImpl.java:91) at com.alibaba.nox.connector.action.executor.JdbcTemplate.execute(JdbcTemplate.java:317) ... 242 more Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=OFFSET 0 ROWS;ystem ) TS712333852;<space>, DRIVER=4.14.146 at com.ibm.db2.jcc.am.ed.a(ed.java:677)
09-24
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值