0

我正在尝试通过 Azure 数据工厂复制活动将数据从 Oracle 迁移到 Common Data Service (CDS) 中的实体。由于 CDS 以 GUID 作为主键而 Oracle 没有主键,因此我的管道总是失败。

我试图在源数据集中创建一个附加列,其值为 @guid() 但是它抛出该列必须是 guid 类型

还尝试了 select REGEXP_REPLACE(SYS_GUID(), '(.{8})(.{4})(.{4})(.{4})(.{12})', '\1-\2-\ 3-\4-\5') MSSQL_GUID,c。* 来自表名 c;guid 在映射中以字符串形式出现

在这种情况下我们如何自动生成 guid

4

1 回答 1

0

您能否尝试通过编辑管道的 JSON 有效负载将您的附加列 (@guid()) 数据类型从 "type": "String" 更新为 "type": "Guid"(在右上角查找 {} 符号您的管道)。见下面的GIF:

在此处输入图像描述

更新

在与产品团队合作进一步分析后,它(类型覆盖)被确定为动态接收器不支持的功能,其中 UX 禁用动态接收器的类型转换。自类型转换功能发布以来,UX 不支持它。

产品团队已打开一个工作项,作为使用 Dynamics sink 进行类型转换的功能改进。此功能支持的预计时间是 9 月中旬(注意:这是暂定日期),但产品团队正在积极努力。我将密切关注工作项目,并在我有更多信息后立即更新这篇文章。

作为一种解决方法,请尝试将管道拆分为 2 个副本(复制活动)。甲骨文 -> csv & csv -> 动态。在第一个副本中,添加一个附加列以在 csv 文件中写入空的 guid 列。在第二个副本中,将 csv 中 guid 列的类型更改为 Guid 并进行复制。

请告诉我们进展如何。

于 2020-08-28T22:45:23.813 回答