0

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

控制流

在此处输入图像描述

在此处输入图像描述

我是 SSIS 的新手。我不觉得这是正确的方法。我只是在模拟 SQL Server 的导入/导出向导。请让我知道是否有更好的方法

4

2 回答 2

1

令人惊讶的是,这个问题经常被问到!

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

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

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

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

于 2018-10-25T14:54:12.890 回答
0

ETL 就是这样工作的。您必须映射源、目标和列映射。如果您希望它是动态的,则可以在Execute SQL taskforeach 循环容器内部进行。阅读更多

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

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

于 2018-10-25T12:53:32.773 回答