MapForce-Befehlszeilenschnittstelle
Über die MapForce-Befehlszeilenschnittstelle können Sie Aufgaben automatisieren. Dazu gehören:
•Öffnen von Mappings
•Generieren von Mapping-Code
•Kompilieren von Mappings für MapForce Server (Professional und Enterprise Edition)
•Generieren von Code für Projekte (Professional und Enterprise Edition)
•Erstellen von Log-Dateien
•Vergleichen zweier Mappings
Syntax
Die Syntax für die Befehlszeile lautet folgendermaßen:
MapForce.exe <dateiname> [/{ziel} [[<ausgabeverz>] [/optionen]]]
So führen Sie Befehle aus
Um über die Befehlszeile Befehle auszuführen, wechseln Sie in das Installationsverzeichnis von MapForce. Beispiel:
C:\Programme\Altova\ MapForce2027
Nähere Informationen zu den einzelnen Parametern des Befehls finden Sie weiter unten unter Parameter.
Notation
Die Befehlszeilensyntax wird folgendermaßen notiert:
Notation | Beschreibung |
|---|---|
Text ohne runde oder geschweifte Klammern | Elemente, die Sie so, wie angezeigt, eingeben müssen |
<Text innerhalb von spitzen Klammern> | Platzhalter, für die Sie einen Wert angeben müssen |
[Text innerhalb von eckigen Klammern] | Optionale Elemente |
{Text innerhalb von geschweiften Klammern} | Eine Gruppe zwingend erforderlicher Elemente; wählen Sie eines aus |
Pipe-Zeichen (|) | Trennzeichen für einander gegenseitig ausschließende Elemente; wählen Sie eines aus |
Auslassungszeichen (...) | Elemente, die wiederholt werden können |
Parameter
<dateiname>
Bezieht sich auf das Mapping-Design (.mfd) oder Mapping-Projekt (.mfp) (Professional und Enterprise Edition), anhand dessen Code generiert werden soll. Um Code für das gesamte Projekt zu generieren, definieren Sie das Ziel für /GENERATE (siehe /{Ziel} unten) und geben Sie den Projektpfad als <dateiname> ein, z.B. MapForceExamples.mfp.
/{ziel}
Definiert die Zielsprache oder Zielumgebung, für die Code generiert werden soll. In der nachstehenden Tabelle finden Sie eine Übersicht über die unterstützten Ziele der Codegenerierung.
Codegenerierungsziel | Beschreibung |
|---|---|
/XSLT | |
/XSLT2 | |
/XSLT3 | |
/COMPILE[:compileoptions] | Kompiliert ein Mapping zu einer MapForce Server-Ausführungsdatei (.mfx). Sie können auch die folgenden durch ein Komma getrennten Optionen definieren:
•Die Option JDBC transformiert alle Datenbankverbindungen unter Verwendung des JDBC-Treibers und der im Dialogfeld Datenbank-Komponenteneinstellungen definierten Datenbank-URL in JDBC. •Die Option NOXMLSIGNATURES unterdrückt die Generierung digitaler Signaturen in der MapForce Server-Ausführungsdatei. Beachten Sie, dass digitale Signaturen von MapForce Server nicht unterstützt werden.
|
/GENERATE | Generiert für alle Mappings in der Projektdatei anhand der aktuellen Ordnereinstellungen Projektcode, siehe Verwalten von Projektordnern. Wenn Sie dieses Ziel auswählen, muss ein MapForce-Projekt (.mfp) als <dateiname> angegeben werden.
|
/XQuery | |
/JAVA | |
/CS | Generiert C#-Code. Bei diesem Befehl können optional auch die folgenden Optionen für die Codegenerierung definiert werden:
/CS[:{VS2013|VS2015|VS2017|VS2019|VS2022|DOTNETCORE31|DOTNET50|DOTNET60}]
Wenn keine Visual Studio-Version definiert wird, wird der Code mit der in den Codegenerierungsoptionen definierten Visual Studio-Version generiert.
|
/CPP | Generiert C++-Code. Bei diesem Befehl können optional auch die folgenden Optionen für die Codegenerierung definiert werden:
/CPP[:{VS2013|VS2015|VS2017|VS2019|VS2022|DOTNETCORE31|DOTNET50|DOTNET60},{MSXML|XERCES3},{LIB|DLL},{MFC|NoMFC}]
In der ersten Optionsgruppe wird die Entwickungsumgebung definiert (z.B. steht VS2022 für Visual Studio 2022).
In der zweiten Optionsgruppe wird die XML-Bibliothek definiert, für die der Code generiert wird. Die folgenden Werte sind gültig:
•MSXML (generiert Code für MSXML 6.0) •XERCES3 (generiert Code für Xerces 3)
In der dritten Optionsgruppe wird definiert, ob statische oder dynamische Bibliotheken generiert werden sollen. Gültige Werte:
•LIB (generiert statische LIB-Bibliotheken) •DLL (generiert DLL-Bibliotheken)
In der vierten Optionsgruppe wird definiert, ob Code mit oder ohne MFC-Unterstützung generiert werden soll. Gültige Werte:
•MFC (aktiviert MFC-Unterstützung) •NoMFC (deaktiviert die MFC-Unterstützung)
Wenn die Optionen oben nicht definiert sind, wird Code mit der in den Codegenerierungsoptionen definierten Visual Studio Version generiert.
|
<ausgabeverz>
Optionaler Parameter, mit dem das Ausgabeverzeichnis definiert wird. Wenn dieser Parameter nicht angegeben wird, wird das aktuelle Arbeitsverzeichnis verwendet. Relative Pfade sind relativ zum aktuellen Arbeitsverzeichnis.
Wenn als Ziel /GENERATE definiert ist, gilt Folgendes:
•Wenn <ausgabeverz> nicht definiert ist, werden die für die einzelnen Projektordner definierten Codegenerierungssprachen und Ausgabepfade verwendet (siehe Projektordner).
•Wenn <ausgabeverz> definiert ist, setzt dies das auf Root-Projekebene definierte Ausgabeverzeichnis außer Kraft, nicht aber die für einzelne Projektordner definierten Codegenerierungseinstellungen.
Sie können eine oder mehrere der folgenden Optionen definieren.
Option | Beschreibung |
|---|---|
/DIFF | Damit können Sie eine ältere mit einer neueren Version desselben Mappings vergleichen. Nähere Informationen dazu finden Sie unter Mapping-Vergleich. Um in der Befehlszeile zwei Mapping-Versionen zu vergleichen, verwenden Sie den folgenden Befehl:
MapForce.exe <neueres-Mapping>.mfd /DIFF <älteres-Mapping>.mfd
|
/DIFFREPORT <Bericht> | Generiert eine XML-Datei, in der die Unterschiede zwischen den mit der Option /DIFF definierten Mappings beschrieben sind.
Um einen XML-Bericht der Unterschiede zwischen den beiden Mappings zu generieren, müssen Sie /DIFF und /DIFFREPORT gemeinsam verwenden:
MapForce.exe <neueres-Mapping>.mfd /DIFF <älteres-Mapping>.mfd /DIFFREPORT <Bericht>.xml
Wenn /DIFFREPORT verwendet wird, öffnet MapForce das Hauptfenster nicht. Die Berichtsdatei wird generiert, ob nun die Mappings identisch sind oder Unterschiede enthalten.
Der Befehl gibt einen der folgenden Exit-Codes zurück:
•0 – Die Mappings sind identisch. •1 – Die Mappings unterscheiden sich. •2 – Beim Vergleich ist ein Fehler aufgetreten.
Anmerkung: Wenn Sie MapForce über eine Windows-Eingabeaufforderung ausführen, verwenden Sie start /wait, damit MapForce die Ausführung fertig stellt, bevor der Exit-Code mit %ERRORLEVEL% abgerufen wird. Beispiel:
start "" /wait MapForce.exe <neueres-Mapping>.mfd /DIFF <älteres-Mapping>.mfd /DIFFREPORT <Bericht>.xml echo %ERRORLEVEL%
Andernfalls wird in der Eingabeaufforderung nicht gewartet, bis MapForce fertig ist, sodass %ERRORLEVEL% dann eventuell nicht den MapForce Exit-Code enthält. In einer Batch-Datei wartet die Eingabeaufforderung, bis MapForce die Ausführung fertig gestellt hat, daher wird start /wait hier nicht benötigt.
|
/GLOBALRESOURCEFILE <dateiname> | Kann verwendet werden, wenn im Mapping zum Auflösen von Input- oder Output-Datei- oder -Ordnerpfaden oder -Datenbanken globale Ressourcen verwendet werden. Nähere Informationen dazu finden Sie unter Globale Altova-Ressourcen. Definiert den Pfad zu einer XML-Datei für globale Ressourcen. Wenn /GLOBALRESOURCEFILE definiert ist, muss auch /GLOBALRESOURCECONFIG definiert sein.
|
/GLOBALRESOURCECONFIG <konfig> | Definiert den Namen der Konfiguration für globale Ressourcen. Wenn /GLOBALRESOURCEFILE definiert ist, muss auch /GLOBALRESOURCECONFIG definiert sein.
|
/LOG <logdateiname> | Generiert eine Log-Datei unter dem angegebenen Pfad. Wenn ein absoluter Pfad angegeben wird, muss das Verzeichnis vorhanden sein. Wenn nur ein Dateiname definiert wird, wird die Log-Datei im aktuellen Verzeichnis der Windows-Eingabeaufforderung erstellt.
|
[/MFXVERSION[:<version>] | Wird verwendet, wenn das Ziel /COMPILE ist. Damit wird die MapForce Server-Ausführungsdatei (.mfx) für eine bestimmte Version von MapForce Server kompiliert. Sie können als Wert jede MapForce Server ab Version 2013r2 angeben. Siehe auch Kompilieren von Mappings für eine spezifische MapForce Server-Version.
|
/LIBRARY <libname> (...) | Wird zusammen mit einer Codegenerierungszielsprache verwendet, um zusätzliche Funktionsbibliotheken zu definieren. Diese Option kann mehrmals definiert werden, um damit mehrere Bibliotheken zu laden. Siehe Verwalten von Funktionsbibliotheken.
|
Anmerkungen
•Relative Pfade sind relativ zum aktuellen Verzeichnis der Applikation, die MapForce aufruft. Dies gilt für den Pfad der .mfd-Datei, der .mfp-Datei, das Ausgabeverzeichnis, die Log-Datei und die globale Ressourcendatei.
•Verwenden Sie in der Befehlszeile keinen abschließenden Backslash vor dem schließenden Anführungszeichen (z. B. "C:\Mein Verzeichnis\“). Der Befehlszeilenparser interpretiert den Backslash und das schließende Anführungszeichen als literales doppeltes Anführungszeichen. Wenn ein Pfad Leerzeichen enthält und in doppelte Anführungszeichen gesetzt werden muss, verwenden Sie einen doppelten Backslash vor dem schließenden Anführungszeichen (z.B. "c:\MeinVerzeichnis\\").
Beispiele
1) Um MapForce zu starten, und das Mapping <dateiname>.mfd zu öffnen, verwenden Sie:
MapForce.exe <dateiname>.mfd
2) Um XSLT 2.0-Code zu generieren und auch eine Log-Datei mit dem Namen <logdateiname> zu erstellen, verwenden Sie:
MapForce.exe <dateiname>.mfd /XSLT2 <ausgabeverz> /LOG <logdateiname>
3) Um unter Verwendung der globalen Ressourcenkonfiguration <grkonfigname> aus der globalen Ressourcendatei <grdateiname> XSLT 2.0-Code zu generieren, verwenden Sie:
Mapforce.exe <dateiname>.mfd /XSLT2 <ausgabeverz> /GLOBALRESOURCEFILE <grdateiname> /GLOBALRESOURCECONFIG <grkonfigname>
Beispiele für die Professional und die Enterprise Edition
1) Um eine C#-Applikation für Visual Studio 2022 zu generieren und eine Log-Datei zu erstellen, verwenden Sie:
MapForce.exe <dateiname>.mfd /CS:VS2022 <ausgabeverz> /LOG <logdateiname>
2) Um unter Verwendung der in Extras | Optionen definierten Codegenerierungseinstellungen eine C++-Applikation zu generieren und eine Log-Datei zu erstellen, verwenden Sie:
MapForce.exe <dateiname>.mfd /CPP <ausgabeverz> /LOG <logdateiname>
3) Um eine C++-Applikation für Visual Studio 2022, MSXML, mit statischen Bibliotheken, MFC-Unterstützung und ohne Log-Datei zu generieren, verwenden Sie:
MapForce.exe <Dateiname>.mfd /CPP:VS2022,MSXML,LIB,MFC
4) Um eine C++-Applikation für Visual Studio 2022, Xerces, mit statischen Bibliotheken, keine MFC-Unterstützung und ohne Log-Datei zu generieren, verwenden Sie:
MapForce.exe <dateiname>.mfd /CPP:VS2022,XERCES,DLL,NoMFC <ausgabeverz> /LOG <logdateiname>
5) Um eine Java-Applikation zu generieren und eine Log-Datei zu erstellen, verwenden Sie:
MapForce.exe <dateiname>.mfd /JAVA <ausgabeverz> /LOG <logdateiname>
6) Um unter Verwendung der Sprache und des Ausgabeverzeichnisses, die/das in den Ordnereinstellungen (für die einzelnen Ordner im Projekt) definiert ist, für alle Mappings im Projekt Code zu generieren, verwenden Sie:
MapForce.exe <dateiname>.mfp /GENERATE /LOG <logdateiname>
7) Um für alle Mappings in der Projektdatei Java-Code zu generieren, verwenden Sie:
MapForce.exe <dateiname>.mfp /JAVA /LOG <logdateiname>
Beachten Sie, dass die in den Ordnereinstellungen definierte Codegenerierungssprache ignoriert wird und für alle Mappings Java verwendet wird.
8) Um in der Befehlszeile für ein zuvor kompiliertes Java-Mapping Input- und Output-Dateien anzugeben, verwenden Sie:
java -jar <mappingdatei>.jar /InputFileName <inputdateiname> /OutputFileName <outputdateiname>
Die /InputFileName und /OutputFileName Parameter sind die Namen spezieller Input-Komponenten im MapForce Mapping, die Ihnen gestatten, Parameter in der Befehlszeilenausführung zu verwenden (siehe Bereitstellen von Parametern für das Mapping).
9) Um ein Mapping zu einer MapForce Server-Ausführungsdatei für die MapForce Server Version 2027 zu kompilieren und XML-Signaturen zu unterdrücken, verwenden Sie:
MapForce.exe <dateiname>.mfd /COMPILE:NOXMLSIGNATURES <ausgabeverz> /MFXVERSION:2027 /LOG <logdateiname>