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