因果预测流程因 Servigistics 服务零件管理中的错误唯一键约束而失败
适用于
- Servigistics Service Parts Management 11.4.1
说明
- 因果预测过程因错误唯一键约束而失败
- Autopilot.log 包含
错误 com.svg.core.util.EventLog - 任务因果预测详细信息失败,并显示消息:StatementCallback; SQL 的未分类 SQLException [更改表 IPCSTMP_G9316 添加约束 IPCSTMP_G9316_PK 主键(ProductID、LocID、PartID、StartDate)]; SQL状态[72000];错误代码 [2437
org.springframework.jdbc.UncategorizedSQLException:StatementCallback; SQL 的未分类 SQLException [更改表 IPCSTMP_G9316 添加约束 IPCSTMP_G9316_PK 主键(ProductID、LocID、PartID、StartDate)]; SQL状态[72000];错误代码[2437]; ORA-02437: 无法验证 (<SCHEMA>.IPCSTMP_G9316_PK) - 违反主键
;嵌套异常是 java.sql.SQLException: ORA-02437: 无法验证 (<SCHEMA>.IPCSTMP_G9316_PK) - 违反主键在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84)
在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
在org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
在 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:415)
在 org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:534)
在 com.svg.core.database.metadata.TableImpl.createPrimaryKeys(TableImpl.java:486)
在 com.svg.core.database.temptable.TempTableImpl$1TableWrapper.createPrimaryKeys(TempTableImpl.java:182)
在 com.svg.core.database.metadata.TableImpl.addPrimaryKeys(TableImpl.java:453)
在 com.svg.core.database.metadata.TableImpl.setPrimaryKeys(TableImpl.java:334)
在 com.svg.core.database.temptable.TempTableImpl.setPrimaryKeys(TempTableImpl.java:193)
在 com.svg.core.database.temptable.LocalTempTable.setPrimaryKeys(LocalTempTable.java:7)
在 com.svg.core.database.temptable.TempTableImpl.build(TempTableImpl.java:59)
在 com.svg.core.database.temptable.LocalTempTable.build(LocalTempTable.java:7)
在 com.svg.core.process.BatchConnectorImpl.newLocalTempTable(BatchConnectorImpl.java:495)
在 com.svg.planning.process.forecast.causal.ProductBomRollout.newProductBomTable(ProductBomRollout.java:114)
在 com.svg.planning.process.forecast.causal.ProductBomRollout.process(ProductBomRollout.java:32)
在 com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:103)
在 com.svg.core.process.BatchConnectorImpl.lambda$run$0(BatchConnectorImpl.java:91)
在 com.svg.core.database.TransactionUtil.lambda$withNone$1(TransactionUtil.java:100)
在 com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:52)
在 com.svg.core.database.TransactionUtil.withNone(TransactionUtil.java:99)
在 com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:91)
在 com.svg.planning.process.forecast.causal.CausalForecastFailureRateInput.newInputTable(CausalForecastFailureRateInput.java:145)
在 com.svg.planning.process.forecast.causal.CausalForecastFailureRateInput.prepare(CausalForecastFailureRateInput.java:53)
在 com.svg.core.process.AbstractProcess.run(AbstractProcess.java:21)
在 com.svg.planning.process.forecast.causal.CausalForecastFailureRateConnector.process(CausalForecastFailureRateConnector.java:26)
在 com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:103)
在 com.svg.core.process.BatchConnectorImpl.lambda$run$0(BatchConnectorImpl.java:91)
在 com.svg.core.database.TransactionUtil.lambda$withNone$1(TransactionUtil.java:100)
在 com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:52)
在 com.svg.core.database.TransactionUtil.withNone(TransactionUtil.java:99)
在 com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:91)
在 com.svg.planning.process.forecast.causal.CausalForecastDetailConnector.doProcess(CausalForecastDetailConnector.java:28)
在 com.svg.core.process.ThreadableConnector.process(ThreadableConnector.java:32)
在 com.svg.core.process.ThreadableConnector.process(ThreadableConnector.java:23)
在 com.svg.core.process.BatchConnectorImpl.doRun(BatchConnectorImpl.java:103)
在 com.svg.core.process.BatchConnectorImpl.lambda$run$0(BatchConnectorImpl.java:91)
在 com.svg.core.database.TransactionUtil.lambda$withNone$1(TransactionUtil.java:100)
在 com.svg.core.database.TransactionUtil.execute(TransactionUtil.java:52)
在 com.svg.core.database.TransactionUtil.withNone(TransactionUtil.java:99)
在 com.svg.core.process.BatchConnectorImpl.run(BatchConnectorImpl.java:91)
在 com.svg.core.task.BatchTask.runConnector(BatchTask.java:84)
在 com.svg.core.task.AbstractTask.run(AbstractTask.java:215)
在 com.svg.core.task.BatchTask.run(BatchTask.java:70)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
在 org.springframework.aop.framework.ReflectiveMethodInspiration.invokeJoinpoint(ReflectiveMethodInspiration.java:190)
在 org.springframework.aop.framework.ReflectiveMethodInitation.proceed(ReflectiveMethodInitation.java:157)
在 org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
在 org.springframework.aop.framework.ReflectiveMethodInitation.proceed(ReflectiveMethodInitation.java:168)
在 org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
在 org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
在 org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
在 org.springframework.aop.framework.ReflectiveMethodInitation.proceed(ReflectiveMethodInitation.java:179)
在org.springframework.aop.interceptor.ExposeInitationInterceptor.invoke(ExposeInitationInterceptor.java:92)
在 org.springframework.aop.framework.ReflectiveMethodInitation.proceed(ReflectiveMethodInitation.java:179)
在org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
在 com.sun.proxy.$Proxy708.run(来源未知)
在 com.svg.core.service.impl.TaskServiceImpl$1.run(TaskServiceImpl.java:456)
在 java.lang.Thread.run(Thread.java:748)
在 com.svg.core.util.ThreadUtil$1.run(ThreadUtil.java:43)
引起原因:java.sql.SQLException:ORA-02437:无法验证(<SCHEMA>.IPCSTMP_G9316_PK)-主键违反在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
在 oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
在 oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
在 oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
在 oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
在 oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
在 oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210)
在 oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:30)
在 oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:931)
在 oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1150)
在 oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1707)
在 oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1670)
在 oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:310)
在 sun.reflect.GenerateMethodAccessor287.invoke(来源未知)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 org.springframework.util.ReflectionUtils.invokeJdbcMethod(ReflectionUtils.java:249)
在 com.svg.core.database.support.ProxyHandler$1.invoke(ProxyHandler.java:29)
在 com.svg.core.database.support.QueryMethodInvoker.invoke(QueryMethodInvoker.java:36)
在 com.svg.core.database.support.ProxyHandler$2.doInDeadlockRetry(ProxyHandler.java:63)
在 com.svg.core.database.support.DeadlockRetry.execute(DeadlockRetry.java:28)
在 com.svg.core.database.support.ProxyHandler.invoke(ProxyHandler.java:60)
在 com.svg.core.database.support.StatementHandler.invoke(StatementHandler.java:42)
在 com.sun.proxy.$Proxy83.executeUpdate(来源未知)
在 org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:523)
在 org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:520)
在 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:404)
... 60 更多