Wenn Sie einen Auftrag mit dem Job Executor oder der Administrationsumgebung ausführen, können Sie das Dateilayout (bzw. das Schema) der Datei überschreiben, die im „Read from File“- und „Write to File“-Schritt des Datenflusses angegeben ist.
Um dies im Job Executor zu tun, geben Sie Folgendes am Ende des Befehlszeilenbefehls des Job Executor an:
StageName:schema=Protocol:SchemaFile
Verwenden Sie in der Administrationsumgebung das Argument --l im Befehl job execute:
–-l StageName:schema=Protocol:SchemaFile
Wo:
- StageName
-
Die Schrittbeschriftung unter dem Symbol des Schrittes im Datenfluss im Spectrum Enterprise Designer. Hat der Schritt beispielsweise die Beschriftung „Read from File“, würden Sie
Read from File
als Schrittnamen angeben.Um einen Schritt innerhalb eines eingebetteten Datenflusses oder Unterflusses anzugeben, stellen Sie dem Schrittnamen als Präfix den Namen des eingebetteten Datenflusses oder Unterflusses voran, gefolgt von einem Punkt und schließlich dem Schrittnamen:
EmbeddedOrSubflowName.StageName
Beispiel: Um einen Schritt mit Namen „Write to File“ in einem Unterfluss mit Namen „Unterfluss1“ anzugeben, würden Sie Folgendes angeben:
Unterfluss1.Write to File
Um einen Schritt in einem eingebetteten Datenfluss anzugeben, der sich innerhalb eines anderen eingebetteten Datenflusses befindet, fügen Sie den übergeordneten Datenfluss hinzu und verwenden Sie jeweils einen Punkt als Trennzeichen. Beispiel: Wenn sich „Eingebetteter Datenfluss 2“ innerhalb von „Eingebetteter Datenfluss 1“ befindet und Sie den „Write to File“-Schritt im „Eingebetteten Datenfluss 2“ angeben möchten, würden Sie Folgendes angeben:
Eingebetteter Datenfluss 1.Eingebetteter Datenfluss 2.Write to File
- Protokoll
- Ein Kommunikationsprotokoll:
- file
- Verwendet das Protokoll file, wenn die Datei auf demselben Computer ist wie der Spectrum Technology Platform-Server. Geben Sie beispielsweise unter Windows Folgendes an:
„file:/C:/myfile.txt“
Geben Sie unter Linux Folgendes an:„file:/testfiles/MeineDatei.txt“
- esclient
- Verwendet das Protokoll „esclient“, wenn sich die Datei auf dem Computer befindet, auf dem Sie den Auftrag ausführen, wenn es sich dabei um einen anderen Computer handelt als den, auf dem der Spectrum Technology Platform-Server ausgeführt wird. Verwenden Sie dieses Format:
esclient:ComputerName/Pfad zur Datei
Zum Beispiel:esclient:MeinComputer/Testdateien/MeineDatei.txt
Anmerkung: Wenn Sie den Auftrag auf dem Server selbst ausführen, können Sie entweder das Protokoll file oder esclient verwenden, erzielen aber wahrscheinlich mit file eine bessere Leistung.Falls der Hostname des Spectrum Technology Platform-Servers nicht aufgelöst werden kann, können Sie den Fehler „Fehler beim Zugriff auf Datei“ erhalten. Um dieses Problem zu beheben, öffnen Sie diese Datei auf dem Server: SpectrumDirectory/server/conf/spectrum-container.properties. Legen Sie für die Eigenschaft spectrum.runtime.hostname die IP-Adresse des Servers fest. - esfile
- Verwenden Sie das Protokoll „esfile“, wenn sich die Datei auf einem Dateiserver befindet. Der Dateiserver muss in der Spectrum Management Console als Ressource definiert sein. Verwenden Sie dieses Format:
esfile://Dateiserver/Pfad zur Datei
Zum Beispiel:esfile://MeinServer/Testdateien/MeineDatei.txt
Dabei ist „MeinServer“ eine in der Spectrum Management Console definierte FTP-Dateiserverressource.
- SchemaFile
-
Der vollständige Pfad zu der Datei, die das gewünschte Layout definiert.
Anmerkung: Sie müssen in Dateipfaden Schrägstriche verwenden. Nutzen Sie keine Backslashes.Um eine Schemadatei zu erstellen, definieren Sie das in „Read from File“ oder „Write to File“ gewünschte Layout und klicken Sie dann auf die Schaltfläche Exportieren, um eine XML-Datei zu erstellen, die das Layout definiert.
Anmerkung: Sie dürfen den Datentyp eines Feldes in einer Schemadatei nicht überschreiben, wenn Sie den Job Executor verwenden. Der Wert im Element <Typ>, das ein untergeordnetes Element des Elementes <Feldschema> ist, muss dem im „Read from File“- oder „Write to File“-Schritt des Datenflusses angegebenen Typ des Feldes entsprechen.
Beispiel für das Überschreiben eines Dateiformats
Der folgende Job Executor-Befehl würde die Datei „C:/myschema.xml“ als Layoutdefinition für die durch den „Read from File“-Schritt gelesene Datei verwenden.
java -jar jobexecutor.jar -j Job1 -u Bob1234 -p "" "Read from File":schema="file:/C:/myschema.xml"