技术文章 - CS266042
同步(同步数据库)失败,出现错误 "2]。sql SQLSyntaxErrorException: TNSNAMES.ORA-00933: SQL 命令未正确结束" 的 Servigistics Service Parts Management
已修改: 11-Jun-2019
适用于
- Servigistics Service Parts Management 10.7.0.10
说明
- SyncDB (Synchronize database)失败,错误为java.sql.SQLSyntaxErrorException:ORA-00933:SQL command not properly ended
- autopilot.log包含:
- 在 springframework 支持 SQLExceptionSubclassTranslator doTranslate (SQLExceptionSubclassTranslator,java:95)
在 springframework 支持 AbstractFallbackSQLExceptionTranslator (AbstractFallbackSQLExceptionTranslator,java:72)
在 springframework 支持 AbstractFallbackSQLExceptionTranslator (AbstractFallbackSQLExceptionTranslator,java:80)
在 springframework 中 JdbcTemplate 执行(JdbcTemplate .java:407)
springframework 在 JdbcTemplate 更新时(JdbcTemplate .java:521)
在同步上的 extractData (段数: Segment (段 .java .. 173)
在 springframework JdbcTemplate $ 1QueryStatementCallback. doInStatement (JdbcTemplate .java:446)
在 springframework 中 JdbcTemplate 执行(JdbcTemplate .java:396)
在 springframework 中 JdbcTemplate 查询(JdbcTemplate .java:456)
在 com svg 同步中。处理(段 .java:144)
在 BatchConnectorImpl 上的 doRun (BatchConnectorImpl .java:110)
在 BatchConnectorImpl 访问 $ 000 (BatchConnectorImpl,java:29)。
在 BatchConnectorImpl doInTransaction (BatchConnectorImpl .java:87)的 com 中
在 TransactionUtil 中(TransactionUtil .java:45)(在 com)上
在 BatchConnectorImpl (BatchConnectorImpl:84)的 com 上运行
在同步上的 SyncConnector 进程(SyncConnector .java:207)。
在 BatchConnectorImpl 上的 doRun (BatchConnectorImpl .java:110)
在 BatchConnectorImpl 访问 $ 000 (BatchConnectorImpl,java:29)。
在 BatchConnectorImpl doInTransaction (BatchConnectorImpl .java:87)的 com 中
在 TransactionUtil 中(TransactionUtil .java:45)(在 com)上
在 BatchConnectorImpl (BatchConnectorImpl:84)的 com 上运行
在 com svg doInConnection 任务。子任务为 $1 (子任务. java:98)
在 com svg doInConnection 任务。子任务为 $1 (子任务. java:94)
在 ConnectionTemplate doInTransaction (ConnectionTemplate,java:32)的位置
在 TransactionUtil 中(TransactionUtil .java:45)(在 com)上
在 ConnectionTemplate 中(ConnectionTemplate,java:27)。
在 ConnectionUtil 中(ConnectionUtil .java:53)(在 com)上
在 ConnectionUtil (ConnectionUtil:47)处执行的。
在 runConnector (在子任务. java:94)
在 AbstractTask (AbstractTask:203)上执行的。
在 com svg 上。运行(子任务 .java:80)
在太阳. NativeMethodAccessorImpl invoke0 (固有方法)
在太阳. NativeMethodAccessorImpl 调用(NativeMethodAccessorImpl:57)
在太阳. DelegatingMethodAccessorImpl 调用(DelegatingMethodAccessorImpl:43)
在 java lang.ini 中。调用(方法 .java:606)
在 springframework aop AopUtils. invokeJoinpointUsingReflection (AopUtils. java:317)
在 springframework 上 aop。 ReflectiveMethodInvocation invokeJoinpoint (ReflectiveMethodInvocation .java:183)
springframework 在 aop ReflectiveMethodInvocation。继续(ReflectiveMethodInvocation java:150)
在 springframework aop 的 MethodBeforeAdviceInterceptor 调用(MethodBeforeAdviceInterceptor java:51)。
springframework 在 aop 的 ReflectiveMethodInvocation。继续(ReflectiveMethodInvocation:161)
在 springframework 事务处理。 TransactionInterceptor $ proceedWithInvocation (TransactionInterceptor:96)
在 springframework 事务处理。 TransactionAspectSupport invokeWithinTransaction (TransactionAspectSupport:260)
在 springframework 事务处理侦听器 TransactionInterceptor 调用(TransactionInterceptor .java:94)
springframework 在 aop 的 ReflectiveMethodInvocation。继续(ReflectiveMethodInvocation:172)
在 springframework aop。 ExposeInvocationInterceptor 调用(ExposeInvocationInterceptor:91)
springframework 在 aop 的 ReflectiveMethodInvocation。继续(ReflectiveMethodInvocation:172)
在 springframework (aop)。 JdkDynamicAopProxy 调用(JdkDynamicAopProxy:204)
在 .com. $Proxy 523 运行(未知源)
在实施 TaskServiceImpl $1。 run (TaskServiceImpl .java:409)。
在 .java. run (Thread:724)
在工具上的 ThreadUtil $1 运行(ThreadUtil .java:43)
由以下原因导致: SQLSyntaxErrorException: TNSNAMES.ORA-00933: SQL 命令未正确结束
在 T4CTTIoer processError (T4CTTIoer .java:440)
在 T4CTTIoer processError (T4CTTIoer .java:396)
在 T4C8Oall processError (T4C8Oall .java:837)
在 T4CTTIfun 接收(T4CTTIfun .java:445)
在 T4CTTIfun doRPC (T4CTTIfun .java:191)
在 T4C8Oall doOALL (T4C8Oall .java:523)
在 T4CStatement doOall8 (T4CStatement .java:193)
在 T4CStatement executeForRows (T4CStatement .java:999)
在 OracleStatement doExecuteWithTimeout (OracleStatement .java:1315)
在 OracleStatement executeUpdateInternal (OracleStatement .java:1822)
在 OracleStatement executeUpdate (OracleStatement .java:1787)
在 OracleStatementWrapper executeUpdate (OracleStatementWrapper .java:280)
在太阳处 GeneratedMethodAccessor251 调用(未知源)
在太阳. DelegatingMethodAccessorImpl 调用(DelegatingMethodAccessorImpl:43)
在 java lang.ini 中。调用(方法 .java:606)
在 ProxyHandler 中,在数据库中支持。 invoke (ProxyHandler:28)
在 QueryMethodInvoker 中,svg. invoke (QueryMethodInvoker:27)。
在 ProxyHandler $2 doInDeadlockRetry (ProxyHandler,java:65)处。
在 DeadlockRetry 中,svg. execute (DeadlockRetry:27)。
在 ProxyHandler (ProxyHandler:62)上的支持的调用。
在 StatementHandler 中,svg. invoke (StatementHandler:40)。
在 $Proxy 175. executeUpdate (未知源)
在 springframework JdbcTemplate $ 1UpdateStatementCallback. doInStatement (JdbcTemplate .java:511)
在 springframework JdbcTemplate $ 1UpdateStatementCallback. doInStatement (JdbcTemplate .java:509)
在 springframework 中 JdbcTemplate 执行(JdbcTemplate .java:396)
- 在 springframework 支持 SQLExceptionSubclassTranslator doTranslate (SQLExceptionSubclassTranslator,java:95)
- 或者有时包含以下消息:
- 调试 QueryLogger-在中插入到 IPCSTMP_G49285 选择零件 id、位置 id、26518,从 IPCSTMP_G49292 s 连接到零件 id = ns 上的 IPCSTMP_G49294 ns。零件 id 和 s 位置 id = ns。位置 id 和 ns。SegmentID = 15481,其中 s. SVCPPL_PERIOD = N ' M_18_24 ' 或 s. SVCPPL_PERIOD = N ' M_18_24 '),s. 位置 id = 735 和 s PartFamilyID = 7 = PartCustom8 = N'y ' and s. SKUCust2 = ' and (s. N'SA = PartCustom6 ' 或 s. N'44AM = PartCustom6 ' 或 s。PartCustom6 = N'HH94JB ') and (s. SVCPPL_PERIOD = N ' M_12_18 '。()。 newPartLocSegmentTable (SegmentFinder (:96)
调试 CustomSQLExceptionTranslator-无法翻译 SQLException,错误代码为 ' 933 ',现在将尝试使用回退转换器
- 调试 QueryLogger-在中插入到 IPCSTMP_G49285 选择零件 id、位置 id、26518,从 IPCSTMP_G49292 s 连接到零件 id = ns 上的 IPCSTMP_G49294 ns。零件 id 和 s 位置 id = ns。位置 id 和 ns。SegmentID = 15481,其中 s. SVCPPL_PERIOD = N ' M_18_24 ' 或 s. SVCPPL_PERIOD = N ' M_18_24 '),s. 位置 id = 735 和 s PartFamilyID = 7 = PartCustom8 = N'y ' and s. SKUCust2 = ' and (s. N'SA = PartCustom6 ' 或 s. N'44AM = PartCustom6 ' 或 s。PartCustom6 = N'HH94JB ') and (s. SVCPPL_PERIOD = N ' M_12_18 '。()。 newPartLocSegmentTable (SegmentFinder (:96)
这是文章 266042 的 PDF 版本,可能已过期。最新版本 CS266042