【问题标题】:How to use SSIS Foreach Loop to write to certain tables based on variable如何使用 SSIS Foreach 循环根据变量写入某些表
【发布时间】:2016-07-19 01:38:38
【问题描述】:

我对 SSIS 还很陌生,但了解一些基本概念,并且已经构建了几个包来完成各种任务。

我有一个基表,我们称之为“Base”(dbo.Base),其中包含信息。我还有 2 个额外的表,称为 Base2 和 Base3。我想创建一个变量,告诉 SSIS 使用 Base2 或 Base3 中的数据,然后将变量中命名的任何表中的数据复制或写入其他进程将使用的原始基表。然后在路上我只需要更新变量,当我运行其余进程时,它将始终使用基表,但基表会根据变量而改变。

理想情况下,最好有一个参数类型设置,当第一个进程(主容器中的大约 15 个)运行时,它实际上会询问用户他们想要使用哪个变量(Base2 或 Base3)表。

不确定这是否有意义或可能,但我想我会问。

谢谢,杰

【问题讨论】:

  • 不确定我的理解是否正确,但您希望 SSIS 包暂停并向最终用户显示提示窗口?那么可能创建一个应用来执行循环和插入任务要容易得多?
  • 所有表都具有相同的架构吗?我建议你首先使用参数来完成这项工作,暂时忘记用户交互。

标签: loops variables foreach ssis


【解决方案1】:

您好,您可以让包中的变量引用环境变量,您可以通过自定义 cmd 应用提示用户根据您的输入将环境变量设置为 base1 或 base2,您可以参考此应用程序通过执行流程任务。这样做的主要问题是,如果您想将应用程序部署到 SSISDB,则不会弹出 CMD 窗口,因此如果您不打算部署项目,它仍然可以工作。

如果这太费力了,你仍然可以使用环境变量,当你想在表之间切换时手动更改它。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2012-07-11
    相关资源
    最近更新 更多