以编程方式更改SSIS中的变量范围

时间:2015-04-28 17:10:52

标签: c# ssis

有没有办法以编程方式更改SSIS中的变量范围?

例如,

将在包级别创建此变量:

package.Variables.Add("sSourceObjectId", false, "User", 1);

但我需要在OnError范围内创建变量,因为系统变量ErrorCode对包级别不可见。

1 个答案:

答案 0 :(得分:2)

您需要访问特定任务/容器

上的Variables集合

以下代码创建一个SSIS包,该包在包级别具有OnError事件处理程序。在该事件处理程序eh上,我添加了变量sSourceObjectId

string path = @"C:\ssisdata\p1.dtsx";

Application app = new Application();
Package pkg = new Package();
pkg.Name = "so_29925774";
DtsEventHandler eh = pkg.EventHandlers.Add("OnError") as DtsEventHandler;

eh.Variables.Add("sSourceObjectId", false, "User", 1);

app.SaveToXml(path, pkg, null);

产生的包

您可以看到变量的范围限定为OnError事件,而不是包本身。

enter image description here