【问题标题】:Moving SQL server data into Dynamics 365 CRM将 SQL Server 数据移动到 Dynamics 365 CRM
【发布时间】:2018-10-24 18:59:56
【问题描述】:

我在 SQL Server 中有超过 500 个表要迁移到 Dynamics 365。目前我使用的是 SSIS。 SSIS 的问题是动态 CRM 的目标实体要与映射一起指定,因此为数百个 SQL 服务器表源的实体创建单独的数据流是愚蠢的。有没有更好的方法来实现这一点?

我是 SSIS 的新手。我不觉得这是正确的方法。我只是在模拟 SQL Server 的导入/导出向导。如果有更好的方法请告诉我

【问题讨论】:

  • 最后截图中的容器选择不是包,是控制流的for-each容器名称
  • 我觉得 SSIS 是更好的方法。检查这个threadpunter.com/dynamics-365/… 它可能对你有帮助
  • 对于CRM的单表目标实体,很好。对于多个实体来说,这是一场噩梦。我意识到这将由第三方工具完成,或者如果你想省钱,花几个月的时间编写代码,将 SQL DB 表的相关映射到 CRM

标签: sql-server ssis dynamics-crm dynamics-365 kingswaysoft


【解决方案1】:

令人惊讶的是,这个问题被问到的频率如此之高!

SSIS不能拥有动态数据流,因为缓冲区大小(管道)是在设计时(而不是执行时)计算的。

您可以重复使用数据流的唯一方法是所有源到目标的映射都相同 - 例如,如果您有 2 个具有完全相同 DDL 结构的表。

一个选项(可怕的 IMO)是将所有列连接到一个巨大的管道分隔 VARCHAR 中,然后将其写入您的目的地到具有 2 列的自定义暂存表中,例如(table_name,column_dump)然后“解压”这个通过加载后 SQL 语句在您的目标系统中。

我会咬紧牙关,戴上耳机,开始一一生成 SSIS 数据流 - 你会惊讶于你能以多快的速度把它们敲出来!

【讨论】:

    【解决方案2】:

    ETL 就是这样工作的。您必须映射源、目标和列映射。如果您希望它是动态的,可以在 foreach 循环容器内的Execute SQL task 中实现。 Read more

    但是当我们使用 Kingswaysoft CRM 目标连接器时 - 这有点棘手(可能或不可能?)因为这需要源和目标之间非常具体的列映射。

    当源架构来自 OLEDB 时,最好为每个表设置单独的 Dataflow 任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2020-06-22
      • 2019-02-25
      • 2012-05-21
      • 1970-01-01
      • 2018-07-09
      • 2022-06-11
      相关资源
      最近更新 更多