用于导入多个表的SSIS模板

时间:2009-01-20 20:42:25

标签: ssis

作为一名SSIS新手,我试图找出转移多个表的最佳方法。我试图从一个数据库导入多个表到另一个数据库。我可以为每个表写多个并行数据流,但是,我想要聪明一点。

对于每个表格,如果我要概括,

  1. 我需要将行从一个表传输到另一个数据库中的表
  2. 我需要计算传输的行数
  3. 必须记录每个表的数据传输的开始和结束时间
  4. 记录任何错误
  5. 我试图不使用存储过程,因为我希望人们不必深入挖掘数据库以获得此转换的规则。理想情况下,我希望在SSIS级别使用可视化和理解的组件完成此操作。

    以前人们使用过的最佳做法?

    理想情况下,我想做一些像

    这样的事情

    foreach(要转移的表列表中的表)   转移(表名)

3 个答案:

答案 0 :(得分:0)

要创建通用表处理程序,您必须以编程方式构造数据流。 AFAIK SSIS没有自动内省设施。脚本任务将允许您执行此操作,您可以从源获取表元数据。但是,您必须以编程方式构建数据流,这意味着要摆弄API。

我已经研究过这样做的产品,虽然我没有开发这个组件,所以我无法提供关于如何做到这一点的智慧之言。但是,您可以找到解释如何操作的resources on the web

您可以通过查询system data dictionary.查看this postingcode sample.查找表格结构和列类型,查看描述这一情况的资源的一些链接,包括指向{{3}}的链接

答案 1 :(得分:0)

您的目标数据库使用此信息做了什么?它只是阅读它吗? 也许你最好通过复制表来服务。

您可以创建一个配置表,其中包含您要移动的表的列表,然后使用for循环重复执行某些操作....但该怎么做。

http://blogs.conchango.com/jamiethomson/archive/2005/02/28/SSIS_3A00_-Dynamic-modification-of-SSIS-packages.aspx

在要点下面,他指出无法修改SSIS以在运行时更改元数据。并且易于维护....你走错了方向。

我会保持简单并使用向导,然后使用日志/通知等进行自定义。

答案 2 :(得分:0)

也许您可以在ssis脚本中调用存储过程。以下是您可以如何使用sp的示例 http://blog.sqlauthority.com/2012/10/31/sql-server-copy-data-from-one-table-to-another-table-sql-in-sixty-seconds-031-video/