我有一个SSIS包,其中设置了一些Project.params。
我该如何通过C#向SSIS包传递这些参数的值?
我正在尝试以下方法:
const string pkgLocation = @"export.dtsx";
var app = new Application();
var pkg = app.LoadPackage(pkgLocation, null);
var results = pkg.Execute();
这会返回一个失败,Errors集合中包含“变量“$Project::connString”在变量集合中未找到。该变量可能不存在于正确的范围内。”
所以我尝试添加:
var param = pkg.Parameters.Add("connString", TypeCode.String);
param.Value = "test";
var results = pkg.Execute();
但这会抛出DtsGenericException异常。
LoadPackage
方法的文档。这是一个重载方法,应该有一个接受 5 个参数的方法,这是一种实现方式。哦,这是一个项目参数。我还没有通过 .net 启动使用项目部署模型的包。我猜你需要更多的代码,因为你需要引用项目的 ispac 才能让它知道项目级别的实体。 - billinkcpkg.Variables.Add("connString", false, "Project", "test");
(假设您的变量命名空间是“Project”) - nemesv