【问题标题】:Load data to multiple tables in SQL Server using SSIS使用 SSIS 将数据加载到 SQL Server 中的多个表
【发布时间】:2020-02-26 12:05:38
【问题描述】:

我正在尝试了解如何从 SQL Server 中的多个表加载数据。

我在源数据库和目标数据库中有 30 多个表(都具有相同的表名和列),因此我使用 foreach 循环容器以 1 DFT 循环遍历每个表。我还有变量(SourceQuery 和 TargetQuery),它们保存要在 ole db 源/目标中使用的查询。

但是当我在 ole db 目标中使用 TargetQuery 时,我收到了这个错误:

有人知道在 ole db 目标中使用变量的正确方法吗?或者任何其他解决方案也很好。

【问题讨论】:

  • 您的数据库中是否存在 ehs.asm_completion?
  • 你不能用一个 DFT 加载 30 个不同的表。为此,您需要 30 个单独的 DFT。不幸的是,元数据在 SSIS 中必须是明确的。您的错误实际上看起来像是找不到表格。
  • 顺便说一句,如果这是目标,您只需将目标放入:ehs.asm_completion,而不是select * from ehs.asm_completion。在尝试将其设为动态之前,您应该真的只为一张桌子工作。
  • @Nick.McDermaid 您是什么意思不能在数据流任务中加载 30 个表?我很确定这是最有效的方法。您显然不能使用单个源/目标,但可以添加多个。它们将并行运行。

标签: sql sql-server database ssis integration


【解决方案1】:

要复制 30 个表,我建议使用比使用数据流更高效的“传输 SQL Server 对象任务”组件

这里你可以看到如何传递变量

Transfer SQL Server Objects Task

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    相关资源
    最近更新 更多