我有一些连接到Oracle数据库的SSIS包。连接参数存储在SQL数据库中,并使用“程序包配置”工具进行检索。
我的问题是SSIS使用配置字符串自动填充的变量在运行包后不会被清空。因此,保存包时,变量的值将保存在源代码中。我不希望将此变量值保存在源文件中。
有关如何防止这种情况发生的任何想法吗?
谢谢!
答案 0 :(得分:5)
您可以尝试在包配置中设置变量。你这样做很简单。
首先转到包的最顶层,然后右键单击空白区域并选择包配置。选择添加添加。为该文件提供位置和名称,然后单击“下一步”。
完成后,选择所需的变量并设置如下的值。
现在您没有将实际值存储在包中。只是如何找到它的信息。
编辑:我可能不清楚这一点。此过程将创建一个完全独立的文件,包将查找该表达式。这样您就不必将表达式或值存储在包本身中。它只是在运行时知道要查找该配置文件以获取任何其他数据。
编辑2:只有在Visual Studio中通过BIDS执行包时才会覆盖包配置。发生这种情况的原因是因为包评估然后在运行时之前保存。当您使用SQL代理程序运行程序包时,不会发生这种情况,因此不会在源代码中存储值或表达式。我希望我已经为你澄清了这一点。