Salesforce 表的 Azure 数据工厂传递 "Object api name" 作为 ForEach 的参数
Azure Data Factory Pass "Object api name" of Salesforce Tables as Parameter from ForEach
我试图从 Salesforce 加载一些 table,table 的数量可能会不时发生变化。我们在 blob 存储上创建了一个 CSV 文件,其中包含我们要从 Salesforce 加载的 table 的名称,此 CSV 包含一列,如下所示:
CSV File
我创建了一个引用 CSV 文件的 查找 activity(并且我禁用了仅第一行选项),然后我将它连接到 ForEach activity 遍历 Lookup activity 的每一行,如下所示:
@activity('TablesLookup').output.value
我在 Foreach 中创建了一个 复制数据 activity,其中 Salesforce 作为数据源.
这里的问题是我正在尝试传递 Salesforce 数据源的 table 名称(对象 api name) 作为 ForEach 的参数。但是我没有找到可以 传递 table 名称 的选项。数字详情如下:
Salesforce Dataset - Parameters
Salesforce Dataset - Connection
ForEach - Copy Data, Salesforce Data Source
这给了我以下错误:
ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure: SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT *<<< ??? >>> FROM "Student"'. SQL error: [Microsoft][SQLEngine] (31740) Table or view not found: Deloitte..Student,Source=Microsoft.DataTransfer.ClientLibrary.Odbc.OdbcConnector,''Type=System.Data.Odbc.OdbcException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure: SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT *<<< ??? >>> FROM "Student"'. SQL error: [Microsoft][SQLEngine] (31740) Table or view not found: Deloitte..Student,Source=Microsoft Salesforce ODBC Driver,'
此致,
如果您的查找 activity 的输出是这样的:
当您将 Table 名称的值从查找 activity 的输出传递给名为 [=19= 的参数时,您需要将 @item()
更改为 @item().Names
] 在数据集中(在 'ForEach - Copy Data, Salesforce Data Source' 步骤)。
我试图从 Salesforce 加载一些 table,table 的数量可能会不时发生变化。我们在 blob 存储上创建了一个 CSV 文件,其中包含我们要从 Salesforce 加载的 table 的名称,此 CSV 包含一列,如下所示:
CSV File
我创建了一个引用 CSV 文件的 查找 activity(并且我禁用了仅第一行选项),然后我将它连接到 ForEach activity 遍历 Lookup activity 的每一行,如下所示:
@activity('TablesLookup').output.value
我在 Foreach 中创建了一个 复制数据 activity,其中 Salesforce 作为数据源.
这里的问题是我正在尝试传递 Salesforce 数据源的 table 名称(对象 api name) 作为 ForEach 的参数。但是我没有找到可以 传递 table 名称 的选项。数字详情如下:
Salesforce Dataset - Parameters
Salesforce Dataset - Connection
ForEach - Copy Data, Salesforce Data Source
这给了我以下错误:
ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure: SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT *<<< ??? >>> FROM "Student"'. SQL error: [Microsoft][SQLEngine] (31740) Table or view not found: Deloitte..Student,Source=Microsoft.DataTransfer.ClientLibrary.Odbc.OdbcConnector,''Type=System.Data.Odbc.OdbcException,Message=ERROR [HY000] [Microsoft][Salesforce] (120) SOQL_FIRST mode prepare failure: SOQL error: [Microsoft][SQLEngine] (31480) syntax error near 'SELECT *<<< ??? >>> FROM "Student"'. SQL error: [Microsoft][SQLEngine] (31740) Table or view not found: Deloitte..Student,Source=Microsoft Salesforce ODBC Driver,'
此致,
如果您的查找 activity 的输出是这样的:
当您将 Table 名称的值从查找 activity 的输出传递给名为 [=19= 的参数时,您需要将 @item()
更改为 @item().Names
] 在数据集中(在 'ForEach - Copy Data, Salesforce Data Source' 步骤)。