我正在使用 Azure 数据工厂中的Common Data Service for Apps连接器将数据加载到 Dynamics 365
在使用实体密钥之前,我已经成功完成了这项工作。请参阅此问题:通过 ADF 将记录加载到 Dynamics 365
现在我正在尝试使用备用键将记录更新到account
实体中。(在这种情况下插入)
在动力学
我在以下位置创建了两个自定义属性字段account
:
Field name Data Type Field Type Max Length
=======================================================
xyz_srcsystem Single Line Simple 50
xyz_srccode Single Line Simple 50
然后我创建了一个account
包含以下字段的 Key:
xyz_alternatekeyaccount
在 ADF 中
然后,我使用 ADF 中的Copy Data活动将数据从 SQL 视图复制到帐户实体中,并使用 CDS 连接器作为目标。
这是我的源 SQL 语句:
SELECT
CAST(NULL as uniqueidentifier) as accountid,
'ADFTest1' as accountnumber, 'ADF Test 1' as [description],
'nmcdermaid@xyz.com.au' as emailaddress1,
CAST('TST' AS NVARCHAR(50)) as xyz_srcsystem,
CAST('1' AS NVARCHAR(50)) as xyz_srccode
在目标中,在备用键名字段中,我输入了备用键名:xyz_alternatekeyaccount
运行管道时出现的错误是
实体 ID 值的类型无效
一些排除极端情况的测试:
- 如果我输入了一个虚拟备用密钥,我得到Cannot retrieve key information of alternate key 'xyz_alternatekeyaccountx' for entity 'account'。这意味着它正在正确找到备用密钥
- 如果我从连接器中删除备用键,它会退回到我看到的另一组常见错误
- 当我使用 CDM 连接器将实体拉入 SQL 时,自定义属性以
NVARCHAR(MAX)
- 我尝试转换为这些数据类型:
NVARCHAR(MAX)
NVARCHAR(50)
VARCHAR(MAX)
VARCHAR(50)
- 如果我使用普通键(不是备用键),并且数据类型错误(GUID 以外的任何内容),我会得到同样的错误
另请参阅我提出的这个 Doco GitHub: