0

我尝试将合并操作与 Microsoft SQL Server 连接器一起使用。当我将 PK 发送到数据库 sql server 以更新记录时,我收到此错误:

错误摘要:

ICS 运行时执行在执行操作时遇到 {http://schemas.oracle.com/bpel/extension}remoteFault:合并错误原因:oracle.tip.adapter.sa.api.JCABindingException:DBWriteInteractionSpec 执行失败异常。合并失败。描述符名称:[testUpsert.Articolo]。由异常 [EclipseLink-3002] (Eclipse Persistence Services - 2.6.5.v20170607-b3d05bd) 引起:org.eclipse.persistence.exceptions.ConversionException 异常描述:对象 [[B@9faeb15],属于 [class [B] 类,从映射 [org.eclipse.persistence.mappings.DirectToFieldMapping[SysTimestamp-->Articolo.SysTimestamp]] 与描述符 [ObjectRelationalDataTypeDescriptor(testUpsert.Articolo --> [DatabaseTable(Articolo)])],无法转换为 [class java.lang.Integer].. 请参阅此异常之前的完整 DBAdapter 日志输出的日志。

异常说明:

对象 [[B@9faeb15],属于 [class [B] 类,来自映射 [org.eclipse.persistence.mappings.DirectToFieldMapping[SysTimestamp-->Articolo.SysTimestamp]] 与描述符 [ObjectRelationalDataTypeDescriptor(testUpsert.Articolo --> [DatabaseTable(Articolo)])],无法转换为 [class java.lang.Integer]。故障详细信息:<err:serviceInvocationError xmlns:err="http://xmlns.oracle.com/cloud/generic/service /fault"> err:typeDBWriteInteractionSpec 执行失败异常</err:type> err:titlemerge 失败。描述符名称:[testUpsert.Articolo]。</err:title> err:detailCaused by Exception [EclipseLink-3002](Eclipse Persistence Services - 2.6.5.v20170607-b3d05bd):org.eclipse.persistence.exceptions.ConversionException 异常说明:对象 [[B@9faeb15],属于 [class [B] 类,来自映射 [org.eclipse.

错误代码:

合并 {http://schemas.oracle.com/bpel/extension}runtimeFault

有人知道 Microsoft SQL Server 是否支持类似操作?

4

1 回答 1

0

症状

ICS DB 适配器映射问题

客户发现,由于 ICS 中的数据库适配器中缺少端点,一些集成失败。重新进入 Endpoints 回到流程后,它们又开始成功运行。问题看起来是随机发生的。

错误

我们能够在 ICS Run 中看到的错误 -

com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{ summary=ICS runtime execution encountered {http://schemas.oracle.com/bpel/extension}remoteFault while executing operation: InsertTrailerRecordInTable_REQUEST ,detail=InsertTrailerRecordInTable_REQUEST {http://schemas.oracle.com/bpel/extension}runtimeFaultError Occurred ,code={http://schemas.oracle.com/bpel/extension}remoteFault} cause: {null}

变化

已识别 - 数据库端点定义已更改。

原因

数据库端点定义已更改或修改。如果存储过程客户发生任何修改以执行以下操作,因为 OIC 数据库适配器将为集成中使用的存储过程生成包装器包/对象

错误 29396860 - ICS DB 适配器映射问题(无激活/停用)计划集成

解决方案

  1. 停用集成
  2. Drop wrapper package + 生成的类型。即在相应端点的 IAR 中应该有 2 个 SQL 脚本文件。使用名称为“*_drop.sql”的文件删除 ICS 生成的包装器和类型,然后重新选择存储过程。这需要为曾经更改过存储过程的端点完成。
  3. 重新启动代理
  4. 通过选择原始存储包/过程重新编辑 DB 适配器向导。这应该创建新的包装器包和类型
  5. 再次激活集成
  6. 测试你的流量。
于 2021-10-07T13:09:42.870 回答