1

我正在尝试设计一个 SSIS 包,它将大约 50 多个表从 ODBC 数据源(QuickBooks DB)复制到 SQL DB。我应该创建 50 个数据流任务来执行此操作吗?做这个的最好方式是什么 ?将 DFT 放入循环中并读取表格?或 50 多个数据流任务???

4

1 回答 1

3

您可以创建 50 个数据流任务,但不是必须的。

在同一个 DFT 中可以有多个独立的源-目的地。这将不那么灵活,因为您可以从包中单独运行单个 DFT(在调试时),但您不能在不修改它的情况下运行一段 DFT(据我所知)。

根据您选择的选项,我看到了几种方法可以让您从 50 多张桌子的日常工作中解脱出来:

a) 让SQL Server 导入和导出向导为您完成无聊的工作。这个工具最好的地方是它可以创建一个 .dtsx 包。

因此,使用向导,您可以:

  • 选择用于从 ODBC 数据源导入所有 50 多个表
  • 不要将向导运行到最后,而是将结果保存为 .dtsx 包。
  • 使用 SQL Server Data Tools 在 Visual Studio 中打开包
  • 根据您的需要修改包(例如,在不同的 DFT 中对表进行逻辑重组,添加任何其他转换)。

b) 手动编辑包代码(可能需要一些BIML知识):

  • 在带有 SQL Server Data Tools 的 Visual Studio 中,创建 1 个 DFT 作为您的示例。
  • 在解决方案资源管理器中,右键单击您的包,选择查看代码。
  • 复制/粘贴 DFT 50 多次,更改表名,或者您甚至可以设法以某种方式自动化您的 BIML 以避免复制/粘贴
于 2014-12-07T16:07:20.717 回答