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

C# 以编程方式更改SSIS中的变量范围,c#,ssis,C#,Ssis,有没有办法以编程方式更改SSIS中的变量范围 例如,此变量将在包级别创建: package.Variables.Add("sSourceObjectId", false, "User", 1); 但是我需要在OnError范围内创建变量,因为系统变量ErrorCode对包级别不可见 您需要访问特定任务/容器上的变量集合 以下代码创建了一个SSIS包,该包在包级别具有OnError事件处理程序。在事件处理程序eh上,我添加变量sSourceObjectId string path = @"C:\

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

例如,此变量将在包级别创建:

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

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

您需要访问特定任务/容器上的变量集合

以下代码创建了一个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事件,而不是包本身


谢谢你,比林克!一切正常。