技术文章 - CS259113

库存水平生成失败,并在 Servigistics 服务零件管理中出现错误“SQL 加载程序失败”

已修改: 08-Dec-2023   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Servigistics Service Parts Management 11.2.1 to 13.0.0.0

说明

  • 库存水平生成失败,错误SQL 加载程序失败
  • Autopilot.log包含如下消息:
    • ERROR com.svg.core.util.EventLog - Task Stock Level Generation failed with message: SQL Loader failed.
      java.lang.RuntimeException: SQL Loader failed.
          at com.svg.core.dataprovider.bulkinsert.OracleBulkInsert.doBulkInsert(OracleBulkInsert.java:50)
          at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.commitUpdates(AbstractBulkInsert.java:290)
          at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.flush(AbstractBulkInsert.java:194)
          at com.svg.core.dataprovider.BulkOutput.flush(BulkOutput.java:158)
          at com.svg.core.process.Output.writeResults(Output.java:115)
          at com.svg.planning.process.stocklevel.SLConnector.runLevels(SLConnector.java:118)
          at com.svg.planning.process.stocklevel.SLConnector.doProcess(SLConnector.java:79)
          at com.svg.core.process.ThreadableConnector.process(ThreadableConnector.java:32)
          at com.svg.core.process.ThreadableConnector.process(ThreadableConnector.java:23)
          at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:106)
          at com.svg.core.process.BatchConnectorImpl.access$000(BatchConnectorImpl.java:33)
          at com.svg.core.process.BatchConnectorImpl$1.doInTransaction(BatchConnectorImpl.java:91)
          at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:51)
          at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:88)
          at com.svg.core.task.BatchTask.runConnector(BatchTask.java:84)
          at com.svg.core.task.AbstractTask.run(AbstractTask.java:216)
          at com.svg.core.task.BatchTask.run(BatchTask.java:70)
          at sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
          at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:51)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
          at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
          at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
          at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
          at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
          at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
          at com.sun.proxy.$Proxy663.run(Unknown Source)
          at com.svg.core.service.impl.TaskServiceImpl$1.run(TaskServiceImpl.java:434)
          at java.lang.Thread.run(Thread.java:745)
          at com.svg.core.util.ThreadUtil$1.run(ThreadUtil.java:43)

      ​​​或
    • ERROR com.svg.core.util.EventLog - Task Stock Level Generation failed with message: executeUpdate; SQL [insert into ##IPCSTMP_L48687 values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, org.springframework.dao.DataIntegrityViolationException: executeUpdate; SQL [insert into ##IPCSTMP_L48687 values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; Arithmetic overflow error converting float to data type numeric.; nested exception is java.sql.BatchUpdateException: Arithmetic overflow error converting float to data type numeric. at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) ~[spring-jdbc-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) ~[spring-jdbc-5.0.19.RELEASE.jar:5.0.19.RELEASE] at com.svg.core.database.BatchUpdate.update(BatchUpdate.java:165) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.doBatchUpdate(AbstractBulkInsert.java:275) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.access$000(AbstractBulkInsert.java:32) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert$1.doInTransaction(AbstractBulkInsert.java:235) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:61) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.writeBatch(AbstractBulkInsert.java:232) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.bulkinsert.AbstractBulkInsert.flush(AbstractBulkInsert.java:191) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.dataprovider.BulkOutput.flush(BulkOutput.java:160) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.Output.writeResults(Output.java:115) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.planning.process.stocklevel.SLConnector.runLevels(SLConnector.java:120) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.planning.process.stocklevel.SLConnector.doProcess(SLConnector.java:80) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.ThreadableConnector.doProcessSubTask(ThreadableConnector.java:84) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.ThreadableConnector.process(ThreadableConnector.java:26) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:122) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.BatchConnectorImpl.lambda$run$0(BatchConnectorImpl.java:92) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.TransactionUtil.lambda$withNone$1(TransactionUtil.java:106) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:56) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.TransactionUtil.withNone(TransactionUtil.java:105) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:92) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.task.SubTask.runConnector(SubTask.java:104) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.task.AbstractTask.run(AbstractTask.java:221) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.task.SubTask.run(SubTask.java:86) ~[AutoPilotServer.jar:12.2.1.1] at sun.reflect.GeneratedMethodAccessor133.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_371] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_371] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197) ~[spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:56) ~[spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:174) ~[spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) [spring-tx-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) [spring-tx-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) [spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) [spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) [spring-aop-5.0.19.RELEASE.jar:5.0.19.RELEASE] at com.sun.proxy.$Proxy1271.run(Unknown Source) [?:?] at com.svg.core.service.impl.TaskServiceImpl$1.run(TaskServiceImpl.java:586) [AutoPilotServer.jar:12.2.1.1] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_371] at com.svg.core.util.ThreadUtil$1.run(ThreadUtil.java:43) [AutoPilotServer.jar:12.2.1.1] Caused by: java.sql.BatchUpdateException: Arithmetic overflow error converting float to data type numeric. at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeBatch(SQLServerPreparedStatement.java:2085) ~[mssql-jdbc-9.2.1.jre8.jar:?] at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) ~[?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_371] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_371] at org.springframework.util.ReflectionUtils.invokeJdbcMethod(ReflectionUtils.java:322) ~[spring-core-5.0.19.RELEASE.jar:5.0.19.RELEASE] at com.svg.core.database.support.ProxyHandler$1.invoke(ProxyHandler.java:29) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.support.ProxyHandler.invoke(ProxyHandler.java:53) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.support.StatementHandler.invoke(StatementHandler.java:90) ~[AutoPilotServer.jar:12.2.1.1] at com.svg.core.database.support.PreparedStatementHandler.invoke(PreparedStatementHandler.java:63) ~[AutoPilotServer.jar:12.2.1.1] at com.sun.proxy.$Proxy89.executeBatch(Unknown Source) ~[?:?] at com.svg.core.database.BatchUpdate.update(BatchUpdate.java:155) ~[AutoPilotServer.jar:12.2.1.1] ... 39 more
      
  • 如果未使用SQL Loader ,则 AutoPilot.log 包含不同的错误消息,如下所示:
  • ERROR com.svg.core.util.EventLog - Task Stock Level Generation failed with message: java.sql.BatchUpdateException: ORA-01438: value larger than specified precision allowed for this column
    
    java.sql.BatchUpdateException: ORA-01438: value larger than specified precision allowed for this column
    
    at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12296)
    at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:246)
    at sun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

这是文章 259113 的 PDF 版本,可能已过期。最新版本 CS259113