使用SSIS包复制多个表

时间:2014-12-07 13:23:08

标签: ssis odbc quickbooks dataflowtask

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

1 个答案:

答案 0 :(得分:3)

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

可以在同一个DFT中拥有多个独立的源 - 目的地。 这将不是那么灵活,因为您可以单独运行单个DFT(在调试时),但是如果不进行修改就无法运行DFT(据我所知)。

根据您选择的选项,我会看到几种方法可以帮助您摆脱50多个桌面的平凡工作:

a)让SQL Server Import and Export Wizard为你做无聊的工作。 关于此工具的最佳之处在于它可以创建.dtsx包。

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

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

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

  • 在带有SQL Server数据工具的Visual Studio中,创建1个DFT,这将是您的样本。
  • 在Solution Exporer中,右键单击您的包,选择View Code。
  • 复制/粘贴DFT 50次以上,更改表名,或者您甚至可以设法以某种方式自动化BIML以避免复制/粘贴