使用ADF从Oracle迁移到CDS

问题描述

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

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

也尝试过 选择REGEXP_REPLACE(SYS_GUID(),'(。{8})(。{4})(。{4})(。{4})(。{12})','\ 1- \ 2- \ 3- \ 4- \ 5')MSsql_GUID,c。 *来自table_name c; guid在映射中以字符串形式出现

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

解决方法

可以通过编辑管道的JSON有效负载(在以下位置查找{}符号)来尝试将其他列(@guid())数据类型从“ type”:“ String”更改为“ type”:“ Guid”管道的右上角)。参见下面的GIF:

enter image description here

更新

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

产品团队已打开一个工作项,作为使用Dynamics sink进行类型转换的功能改进。支持此功能的ETA是9月中旬(注意:这是暂定日期),但产品团队正在积极地进行工作。我将密切监视工作项,并在获得其他信息后立即更新此帖子。

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

请让我们知道它的进展。