Azure数据工厂-GUID查找

时间:2020-09-14 00:53:13

标签: dynamics-crm crm azure-data-factory

我正在研究从SQL到CRM的复制数据映射。我想更新一个帐户记录(如果存在)或插入一个新记录。

在CRM中,accound_id GUID字段是主键。我希望能够在CRM中查找它,或者生成一个新的CRM。

我想我已经正确地生成了一个:

SELECT
CAST(NULL as uniqueidentifier) AS ACCOUNTID,
A.VENDORACCOUNTNUMBER AS ACCOUNTNO,
11 AS ACCOUNTTYPE,
VENDORORGANIZATIONNAME AS LEGALACCOUNTNAME,
VENDORSEARCHNAME AS ACCOUNTNAME,
CURRENCYCODE AS CURRENCY,
DEFAULTDELIVERYTERMSCODE AS DELIVERYTERMS,
DEFAULTDELIVERYMODEID AS MODEOFDELIVERY,
CASHDISCOUNTCODE AS CASHTERMS,
DEFAULTPAYMENTTERMSNAME AS PAYMENTTERMS,
'YES' AS ISPRIMARY,
'BILL TO' AS ADDRESSPURPOSE,
A.ADDRESSDESCRIPTION AS BILLTONAME,
A.ADDRESSCOUNTRYREGIONID AS BILLTOCOUNTRY,
A.ADDRESSCOUNTYID AS BILLTOCOUNTY,
A.ADDRESSCITY AS BILLTOCITY,
A.ADDRESSSTATEID AS BILLTOSTATE,
A.ADDRESSSTREET AS BILLTOST,
A.ADDRESSZIPCODE AS BILLTOZIP,
A.FORMATTEDPRIMARYADDRESS AS BILLTOADDRESS,
PRIMARYPHONENUMBER AS BILLTOPHONE,
PRIMARYPHONENUMBERDESCRIPTION AS BILLTOPHONEDESC,
'199 - CORPORATE' AS DISTRICTNAME,
'f97564c6-93a1-e311-9696-6c3be5a8ce94' AS DISTRICT
FROM [dbo].[VendVendorV2Staging] A
WHERE A.ADDRESSLOCATIONROLES = 'Business';

我不知道如何在退出或使用新GUID的情况下查找它。

2 个答案:

答案 0 :(得分:0)

您必须在CRM端为帐户实体配置备用密钥,然后才能根据该密钥进行upsert(如果存在则进行更新或创建)。 Read more

如果您不想这样做,则可以始终查询CRM并检查其是否存在,然后再基于名称,电话号码或电子邮件等某些唯一属性创建新记录。

答案 1 :(得分:0)

您可以在ADF复制活动中使用Additional column feature来生成公会值列,如下所示。

enter image description here

由于Dynamics CRM支持Upsert,因此可以将接收器设置的write behavior设置为Upsert,将Ignore Null values设置为True,如下所示。如果使用主键,则可以将alternate Key保留为空(Define alternate keys for an entity-备用键用来代替主键唯一地标识“客户参与”中的记录)。

然后将AdditionalGuidColumn映射到目标upsert列,即accound_id GUID字段,它是主键。

enter image description here

有关动态接收器设置的其他信息,请参阅以下文档:Dynamics as a sink type

enter image description here