2017-12-26 10 views
2

Ich habe ein Paket erstellt und einen Datenflusstask hinzugefügt, der die Daten aus der Datenbank liest und eine Flat-Out-XML-Datei erstellt. Es speichert dann die Datei in dem Pfad, den ich angegeben habe, und die Task zum Ausführen des Prozesses lädt sie auf einen Remote-Server hoch. Unten ist, wie die Struktur wie folgt aussieht:Verwenden von Variablen im SSIS-Datenfluss-Task und Ausführen des Prozess-Tasks

enter image description here

Die Datenflußtask so etwas wie dieses:

enter image description here

Der Prozess Aufgabe ausführen, wie unten:

enter image description here

Also alle arbeiten jetzt gut, da ich absolute Verzeichnis pat habe hs für Datenfluss flat out Dateiprozess und in der Task Prozess ausführen.

Aber was ich versuche zu tun, den absoluten Pfad zu entfernen und relativen Pfad zum Stammordner meiner Package.dtsx Datei stattdessen für alle ausführbaren zu verwenden, die flache aus XML-Datei usw. speichern

So Nach der Online-Recherche erwiesen sich diese beiden Links here und here als sehr hilfreich. Ich habe eine Variable und die Skriptaufgabe erstellt, wie im ersten Screenshot oben gezeigt. Die Details der Skripts Aufgabe sind:

enter image description here

Unterhalb die Hauptfunktion Skript Aufgabe ist:

enter image description here

Nach dem Hinzufügen der Variable ich in der Lage bin in den Paketeigenschaften, um zu sehen, dass die Variable PackagePath wird wie folgt zugewiesen: \Package\task-name:

enter image description here

Aber ich bin mir nicht sicher, welcher Pfad das ist und wie man zum Wurzelverzeichnis gelangt oder den Wurzelverzeichnispfad der Variablen zuweist.

Ich bin neu zu SSIS so nicht sicher, ob ich es falsch mache oder etwas verpasse. Ich habe die letzten paar Tage gekämpft, um es herauszufinden. Jede Hilfe wird geschätzt.

+1

versuchen, 'Delay Validation' Eigenschaft auf' True' zu ​​setzen, überprüfen Sie meine Antwort für weitere Details – Hadi

Antwort

0

Um Variablen in Execute Process Task zu verwenden, müssen Sie Ausdrücke verwenden, öffnen Sie den Execute Process Task Editor, Go To Ausdrücke Registerkarte und schreiben Sie Ihre Ausdrücke.

Sie zu diesem Artikel für ein ausführliches Beispiel verweisen:

Sie können auch mehr über Execute Process Task und Schreiben von Ausdrücken lesen:


Hinweis: Klicken Sie mit der rechten Maustaste auf Ihre Task ausführen und wählen Sie Eigenschaften. Im Eigenschaftsfenster haben Sie eine DelayValidation Option, die derzeit auf False eingestellt ist. Umdrehen Sie das auf True.

Verwandte Themen