0

使用 qbo3 批量导入,我正在上传一个包含我的枚举的电子表格,如下所示:

班级名称 手术 对象状态 目的
对象状态 节省 选项 A 解析度
对象状态 节省 选项 B 解析度
对象状态 节省 选项 C 解析度
对象状态 节省 子选项 1 解决方案.选项 A
对象状态 节省 子选项 2 解决方案。选项 B

这会错误地将ImportFileQueue.Object列设置为Resolution(或Resolution.Option A),而不是设置ObjectStatus.ObjectResolution

查看Batch Engine 文档Object,我通过如下更改列更正了此问题:

班级名称 手术 对象状态 参数
对象状态 节省 选项 A 对象=分辨率
对象状态 节省 选项 B 对象=分辨率
对象状态 节省 选项 C 对象=分辨率
对象状态 节省 子选项 1 对象=分辨率。选项 A
对象状态 节省 子选项 2 对象=分辨率。选项 A
对象状态 节省 子选项 1 对象=分辨率。选项 B
对象状态 节省 子选项 2 对象=分辨率。选项 B

这成功绑定ObjectObjectStatus表,但由于某种原因,SubOption导入忽略了我的 2 行。

我该如何解决?

4

1 回答 1

0

TLDR;为每一行添加一个名为SetPropertiesLookupFALSE列:

班级名称 手术 对象状态 参数 设置属性查找
对象状态 节省 选项 A 对象=分辨率 错误的
对象状态 节省 选项 B 对象=分辨率 错误的
对象状态 节省 选项 C 对象=分辨率 错误的
对象状态 节省 子选项 1 对象=分辨率。选项 A 错误的
对象状态 节省 子选项 2 对象=分辨率。选项 A 错误的
对象状态 节省 子选项 1 对象=分辨率。选项 B 错误的
对象状态 节省 子选项 2 对象=分辨率。选项 B 错误的

这种行为是ImportFileQueue's 内置重复数据删除逻辑的产物:用户经常尝试上传具有重复行的电子表格,这反过来会导致调用第三方系统的不需要的 API 调用或其他此类问题。

唯一性由以下因素的组合决定:

  • ClassName
  • Operation
  • ParameterXml: 所有其他列的 XML 表示

因为Parameters是已知列,但不被认为是唯一签名的一部分,所以认为ImportFileQueue是重复的。SubOption 1SubOption 2

添加忽略重复数据删除检查的SetPropertiesLookup原因。ImportFileQueue

于 2020-12-08T14:31:38.033 回答