SSIS在包运行之后/保存之前清除配置变量值

时间:2014-03-21 15:34:35

标签: sql variables ssis

我有一些连接到Oracle数据库的SSIS包。连接参数存储在SQL数据库中,并使用“程序包配置”工具进行检索。

我的问题是SSIS使用配置字符串自动填充的变量在运行包后不会被清空。因此,保存包时,变量的值将保存在源代码中。我不希望将此变量值保存在源文件中。

有关如何防止这种情况发生的任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以尝试在包配置中设置变量。你这样做很简单。

首先转到包的最顶层,然后右键单击空白区域并选择包配置。选择添加添加。为该文件提供位置和名称,然后单击“下一步”。

完成后,选择所需的变量并设置如下的值。

Expression

现在您没有将实际值存储在包中。只是如何找到它的信息。

编辑:我可能不清楚这一点。此过程将创建一个完全独立的文件,包将查找该表达式。这样您就不必将表达式或值存储在包本身中。它只是在运行时知道要查找该配置文件以获取任何其他数据。

编辑2:只有在Visual Studio中通过BIDS执行包时才会覆盖包配置。发生这种情况的原因是因为包评估然后在运行时之前保存。当您使用SQL代理程序运行程序包时,不会发生这种情况,因此不会在源代码中存储值或表达式。我希望我已经为你澄清了这一点。