我正在寻找一种从SSIS目录加载包元数据的方法。
使用Microsoft.SqlServer.Dts.Runtime
命名空间时,我们可以使用简单方法加载SSIS包
Application app = new Application();
Package pak = app.LoadFromSqlServer(path, server, user, pass, null);
LoadFromSqlServer
返回具有访问包元数据属性的Package
对象。
例如,我们只需访问对象属性pak.Executables
在Microsoft.SqlServer.Management.IntegrationServices
命名空间中使用SSIS目录和项目时,要访问我们使用的包:
PackageInfo myPackage = integrationServices.Catalogs["SSISDB"]
.Folders["MyFolder"]
.Projects["MyProject"]
.Packages["MyPackage.dtsx"];
但是,PackageInfo
不包含与Microsoft.SqlServer.Dts.Runtime.Package
类形式相同的属性/方法。
如何“转换”Microsoft.SqlServer.Management.IntegrationServices.PackageInfo
到Microsoft.SqlServer.Dts.Runtime.Package
,以便我可以访问包元数据?