为 Salesforce 动态决定 SSIS 连接器中的列
Posted
技术标签:
【中文标题】为 Salesforce 动态决定 SSIS 连接器中的列【英文标题】:Dynamically decide columns in SSIS connectors for salesforce 【发布时间】:2018-06-19 09:16:41 【问题描述】:我想将数据从 salesforce 迁移到 SQL Server,并且我正在为 salesforce 使用 SSIS 连接器。我正在创建单个 SSIS 包,它为所有对象获取数据并插入 SQL 服务器。我尝试将以下连接器用于 salesforce。
连接器 1:Kingswaysoft https://www.kingswaysoft.com/
连接器 2:CData https://www.cdata.com/kb/articles/ado-ssistask-sf.rst
连接器 3:SSIS PowerPack - https://zappysys.com/onlinehelp/ssis-powerpack/index.htm https://zappysys.com/products/ssis-powerpack/ssis-salesforce-source-connector/
在所有连接器中,我无法使用 SSIS 变量在 SOQL 查询中动态提供不同的列(salesforce 字段)。
【问题讨论】:
SSIS 是为静态元数据 ETL 构建的。如果您想为所有对象(具有动态对象和 SQL 表)提供一种解决方案,您可能需要在 C# 或 VB 中实现使用 Salesforce 的 BulkApi 的自定义流程。 能否请您提供参考链接。我是 C# 初学者。 【参考方案1】:我同意 CMET 的观点,即 SSIS 用于静态 ETL,您可以使用 C# 脚本任务来处理动态元数据。
作为替代方案,您可以尝试条件分支并根据表达式运行两个不同的任务。阅读Add expressions to precedence constraints。
不确定我们在这里讨论了多少动态列,但为了讨论,我们需要根据源列在 salesforce 目标中填写 2 个不同的列,然后有 2 个分支。
【讨论】:
以上是关于为 Salesforce 动态决定 SSIS 连接器中的列的主要内容,如果未能解决你的问题,请参考以下文章