How to get Package Properties Deployed under Catalog in SQL Server 2012(Denali)?
-
2012년 2월 13일 월요일 오전 6:09
I found two methods to retrieve and load packages deployed to sql server 2012(denali);
- LoadFromSqlServer
- GetPackageInfos
Both these methods load packages from “msdb”, But we need to load packages that are deployed under catalog; I tried specifying path(Project Name+ Folder Name) in “Folder Name”\”Package Path” parameter, But I got following error message:
What I found here is, It always look for packages deployed under msdb, I did not found any way to load packages deployed under catalog.
Can any one here provide his\her suggestion on this?
-Aman
모든 응답
-
2012년 2월 14일 화요일 오전 3:40
Hi Aman,
PowerShell can be used to poll SSIS catalogs, I have not tried myself so here is a link that will give you an idea:
http://blogs.msdn.com/b/mattm/archive/2011/11/17/ssis-and-powershell-in-sql-server-2012.aspx
Arthur My Blog

-
2012년 2월 14일 화요일 오전 9:18
Hi Arthur,
Thanks for your perfect response, I clearly given me a direction, i am very close to the solution for my problem, Now I am able to retrieve packages deployed to Catalog, But the PackageInfo (Microsoft.SqlServer.Management.IntegrationServices.PackageInfo) class does not expose the property(LoggingMode) of packages for which i was looking, Then I check PackageInfo (Microsoft.SqlServer.Dts.Runtime.PackageInfo) Class, which exposes LoggingMode property, I tried converting object type, but that is not possible,
Is there any other solution here that you can suggest?
Thanks,
Aman
-Aman
-
2012년 2월 14일 화요일 오후 3:46
You need to use
Microsoft.SqlServer.Dts.Runtime
like this:
Package pkg = //Set the package;
// get the logging mode
Console.WriteLine("The LoggingMode is: {0}", pkg.LoggingMode);
Arthur My Blog

-
2012년 2월 15일 수요일 오전 5:19
foreach (Catalog catalog in isserver.Catalogs) { foreach (CatalogFolder folder in catalog.Folders) { foreach (ProjectInfo prjInfo in folder.Projects) { foreach (Microsoft.SqlServer.Management.IntegrationServices.PackageInfo pkgInfo in prjInfo.Packages) { Microsoft.SqlServer.Dts.Runtime.Package pkg = (Package)pkgInfo; Console.WriteLine("The LoggingMode is: {0}", pkg.LoggingMode);
Error:
Error 13 Cannot convert type 'Microsoft.SqlServer.Management.IntegrationServices.PackageInfo' to 'Microsoft.SqlServer.Dts.Runtime.Package'I am not able to convert\set package here.
-Aman
-
2012년 2월 15일 수요일 오후 3:39
Microsoft.SqlServer.Dts.Runtime.Package pkg = (Package)pkgInfo;
is wrong use
foreach (Microsoft.SqlServer.Management.IntegrationServices.Package Crnt_pkg in prjInfo.Packages) { Console.WriteLine("The LoggingMode is: {0}", Crnt_pkg.LoggingMode);
Arthur My Blog

-
2012년 2월 16일 목요일 오전 4:58But there is no LoggingMode property exposed in Microsoft.SqlServer.Management.IntegrationServices.Packageclass, Where as it is exposed in Microsoft.SqlServer.Dts.Runtime.Packageclass, That is why I am trying to convert the package type.
-Aman
-
2012년 2월 21일 화요일 오후 3:46
Then how about:
foreach (Microsoft.SqlServer.Dts.Runtime.Package Crnt_pkg in prjInfo.Packages) { Console.WriteLine("The LoggingMode is: {0}", Crnt_pkg.LoggingMode);
?
Arthur My Blog


