2014-12-07 61 views
1

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

回答

2

您可以创建50个数据流任务,但您不需要。

在同一个DFT中可能有多个独立的源 - 目的地。 这不会很灵活,因为您可以单独运行单个DFT(在调试过程中),但是如果不修改它,就不能运行一段DFT(据我所知)。

根据您选择的选项,我看到一对夫妇的方式,从自己平凡的工作保存50个+表:

一)让SQL Server Import and Export Wizard为你做枯燥的工作。 这个工具最好的是它可以创建一个.dtsx包。

所以,随着向导,您可以:

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

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

  • 在Visual Studio和SQL Server数据工具,创建1 DFT这将是你的样品。
  • 在Solution Exporer中,右键单击您的包,选择查看代码。
  • 复制/粘贴DFT 50次,更改表名,或者甚至可以设法自动化您的BIML以避免复制/粘贴