有没有办法以编程方式更改SSIS中的变量范围?
例如,将在包级别创建此变量:
package.Variables.Add("sSourceObjectId", false, "User", 1);
但我需要在OnError范围内创建变量,因为系统变量ErrorCode对包级别不可见。
答案 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事件,而不是包本身。