Dynamics crm 将数据从Dynamics CRM加载到SQL Server

Dynamics crm 将数据从Dynamics CRM加载到SQL Server,dynamics-crm,azure-data-factory,fetchxml,Dynamics Crm,Azure Data Factory,Fetchxml,无法使用Azure数据工厂从Dynamics CRM获取optionset字符串到SQL Server 我正在使用Azure data factory将数据从Dynamics CRM移动到SQL DB。我使用fetchXML查询从源(CRM)获取数据。我能够获得正常的字符串和guid类型值,没有任何问题 但是CRM中的optionset字段是Int32类型(即,我得到的是optionset的值,而不是字符串) 如何解决此问题?您可能正在使用获取fetchxml结果集作为动态源,以便使用Azure

无法使用Azure数据工厂从Dynamics CRM获取optionset字符串到SQL Server

我正在使用Azure data factory将数据从Dynamics CRM移动到SQL DB。我使用fetchXML查询从源(CRM)获取数据。我能够获得正常的字符串和guid类型值,没有任何问题

但是CRM中的optionset字段是
Int32
类型(即,我得到的是optionset的值,而不是字符串)

如何解决此问题?

您可能正在使用获取fetchxml结果集作为动态源,以便使用Azure数据工厂将其转储到SQL中。您面临的问题是无法使用该选择列表选项的格式化文本值

我们将在代码中使用以下语法使用格式化值:

如果您不能这样做,那么最好在SQL中转储另一个名为
stringmap
的表,该表将存储整个系统中的所有选择列表选项

然后可以将两个表进行内部联接以获得必要的数据

select INC.TicketNumber[Case ID],SMT.Value[Status Name], SMT.AttributeValue[Status Value]
from incident as INC inner join StringMap as SMT
on INC.StatusCode = SMT.AttributeValue
where SMT.AttributeName='statuscode' and SMT.ObjectTypeCode=112

您可能正在使用获取fetchxml结果集作为动态源,以便使用Azure数据工厂将其转储到SQL中。您面临的问题是无法使用该选择列表选项的格式化文本值

我们将在代码中使用以下语法使用格式化值:

如果您不能这样做,那么最好在SQL中转储另一个名为
stringmap
的表,该表将存储整个系统中的所有选择列表选项

然后可以将两个表进行内部联接以获得必要的数据

select INC.TicketNumber[Case ID],SMT.Value[Status Name], SMT.AttributeValue[Status Value]
from incident as INC inner join StringMap as SMT
on INC.StatusCode = SMT.AttributeValue
where SMT.AttributeName='statuscode' and SMT.ObjectTypeCode=112

我还必须同步stringmaps实体,因为我超出了给定FetchXML查询的链接实体限制

下面将引入OptionSet选择的文本值

    <link-entity name="stringmap" from="attributevalue" to="____" visible="false" link-type="outer" alias="____">
        <filter type="and">
            <condition attribute="objecttypecode" operator="eq" value="___"/>
        </filter>
        <attribute name="value"/>
    </link-entity>

to应该是主机/根实体上OptionSet列的名称

别名您想在输出中调用列的任何内容。我使用了与相同的值


value这是主机/根实体的对象类型代码。它是一个整数值。

我还必须同步stringmaps实体,因为我超出了给定FetchXML查询的链接实体限制

下面将引入OptionSet选择的文本值

    <link-entity name="stringmap" from="attributevalue" to="____" visible="false" link-type="outer" alias="____">
        <filter type="and">
            <condition attribute="objecttypecode" operator="eq" value="___"/>
        </filter>
        <attribute name="value"/>
    </link-entity>

to应该是主机/根实体上OptionSet列的名称

别名您想在输出中调用列的任何内容。我使用了与相同的值


value这是主机/根实体的对象类型代码。它是一个整数值。

您可以尝试链接中的类似内容吗?是的,它是sql,但可以给您提示。如何运行fetchXML查询?您是否使用了任何代码?我使用的是@JohnsonThomas,我的解决方案是否适用于您?我从未在ADF工作过。。但这就是我们在SSR中的做法,PowerBI,etc@ArunVinoth目前正在使用stringmap表方法。这需要手动将所有optionset id和字符串添加到stringmap表中一次。但现在我没有得到任何其他的解决办法。非常感谢您的帮助。您可以尝试类似于链接中的内容吗?是的,它是sql,但可以给您提示。如何运行fetchXML查询?您是否使用了任何代码?我使用的是@JohnsonThomas,我的解决方案是否适用于您?我从未在ADF工作过。。但这就是我们在SSR中的做法,PowerBI,etc@ArunVinoth目前正在使用stringmap表方法。这需要手动将所有optionset id和字符串添加到stringmap表中一次。但现在我没有得到任何其他的解决办法。非常感谢你的帮助。