Ich sollte vorweg sagen, dass meine Erfahrung mit Skripten oder Programmierung in OOP-Sprachen begrenzt ist.
Ich arbeite an einer Methode zum programmatischen Erstellen und Ausführen von SSIS-Paketen mit PowerShell. Leider sind die meisten Ressourcen für PowerShell und SSIS zum Aufrufen von PS von SSIS, nicht umgekehrt.
Ich habe jedoch eine Reihe von Ressourcen für VB / C # zum Erstellen von SSIS-Paketen gefunden.
Es ist mir gelungen, den Großteil des Codes durch Aufruf der DTS / SSIS-Assemblys zu konvertieren, aber das TaskHost-Objekt wird jetzt nicht in ein Mainpipe konvertiert.
Beispielcode:
%Vor%Alles funktioniert gut bis zur letzten Zeile, wenn ich den Fehler bekomme:
Kann nicht konvertieren "System .__ ComObject" -Wert des Typs "System .__ ComObject # {}" zu Art "Microsoft.SqlServer.Dts.Pipeline.Wrapper.MainPipeClass"
Jede Hilfe oder Ideen sind willkommen!
Microsoft.SqlServer.DTSPipelineWrap verwendet häufig COM-Instanzen.
In diesem Forenbeitrag wurde die CreateWRapperOfType-Methode vorgeschlagen: Ссылка
Du könntest das versuchen:
%Vor%Error out und produziert ein Objekt - ich bin mir nicht sicher welcher Art.
Sie können die funktionierende .NET-Version, die Sie oben angegeben haben, immer einfach in eine exe kompilieren und zulassen, dass sie Parameter akzeptiert, um die SSIS-Pakete zu erstellen. Verwenden Sie anschließend Powershell, um die ausführbare Datei mit den erforderlichen Parametern aufzurufen.
Tags und Links sql-server sql-server-2008 powershell ssis dts