1

我正在该包中构建 SSIS 包我正在使用“Dynamics CRM Source”控件,该控件使用 fetchXML 从 MS Dynamics CRM 检索数据。

这是我的 fetchXML:

<fetch> 
  <entity name='f1_workorder'> 
     <all-attributes /> 
     <filter type='and'> 
        <condition attribute='createdon' operator="on-or-after" value="5/5/2018" /> 
     </filter> 
  </entity> 
</fetch>

您可以看到条件值是硬编码的“5/5/2018”

它假设是从一个名为 XMLPeriod 的变量中读取的。

我尝试了很多方法来使用 fetchXML 中的变量,但没有成功。我试过这个

<condition attribute='createdon' operator="on-or-after" value=@XMLPeriod /> 

和这个

<condition attribute='createdon' operator="on-or-after" value="@XMLPeriod" /> 

和这个

<condition attribute='createdon' operator="on-or-after" value="@[User::XMLPeriod]" /> 

和这个

<condition attribute='createdon' operator="on-or-after" value=@[User::XMLPeriod] /> 

我收到这个错误

'@' is an unexpected token. The expected token is '"' or '''. Line 5, position 71.

知道如何让它工作吗?

4

2 回答 2

2

正如 Arun 在评论中所建议的那样,第三个选项(复制如下)应该可以工作。

<condition attribute='createdon' operator="on-or-after" value="@[User::XMLPeriod]" />

如果它不起作用,请在此处发布整个错误消息,以便我进一步查看。

于 2018-06-06T13:31:25.750 回答
1

我建议您创建一个 SSIS 变量,如 String 作为 FetchXML。

您在上一步中使用该字符串中的该变量创建了自己的 FetchXML,因此您可以fetchxml直接在表达式设置中使用该变量:

我认为您正在使用 CozyRoc,因此您可以在组件“Dynamic data Flow task plus”中配置您的 Fetchxml 变量,通过:“您的 Dynamic data Flow task plus”>Advanced>Expressions>[“您的数据名称流任务线索"].[@[User::YourVariableFetchXml]

于 2018-12-20T21:37:39.333 回答