Zum Hauptinhalt springen

XML zu Tabelle v.2

Aktuelle Konfiguration des Tasks XML zu Tabelle v.2 im Workflow Designer
  • Aufgabentyp: xml-to-table_v2

Beschreibung

Die Aufgabe "XML zu Tabelle v.2" ermöglicht den Import von Daten im XML-Format direkt in eine Tabelle einer unterstützten Datenbank. Das System konvertiert intern die XML-Struktur, um die Werte auf die Felder der Zieltabelle abzubilden.

1. Datenbankverbindung

In diesem Abschnitt werden die Datenquelle und die Datenbankkoordinaten definiert.

Zieltabelle (Verbindungsquelle)

Wählen Sie, wie der Datenbankzugriff konfiguriert werden soll:

  • Manuale: manuelle Eingabe von Host, Port und Anmeldeinformationen.
  • Environment: Nutzung einer voreingestellten Verbindungsumgebung.

Umgebungverbindung

Wählen Sie aus dem Dropdown-Menü die gewünschte Umgebung (z. B. Example_Connection). Die Authentifizierungsparameter werden automatisch ausgefüllt.

Eingabedatensatz

Fügen Sie den zu verarbeitenden XML-Inhalt ein.

  • Es können dynamische Parameter (z. B. #>Run Script Python xml.result<#) verwendet werden, um die Ausgabe einer vorhergehenden Aufgabe zu verknüpfen, die das XML generiert oder abruft.

Datenbanktyp

Wählen Sie das DBMS: PostgreSQL, SQLserver, MySQL, Oracle, SAP HANA.

SSL-Verbindung

Geben Sie an, ob die Verbindung SSL erfordert (SI / NO).

Authentifizierung

Füllen Sie die Felder Host, Port, DB-Name, Benutzer und Passwort (Button Passwort festlegen) aus, wenn Sie im manuellen Modus arbeiten.

2. Tabellenverwaltung

Zieltabelle (Aktion)

Definieren Sie die Operation, die auf der Datenbank ausgeführt werden soll:

  • Tabelle erstellen: erstellt eine neue Tabelle.
  • Vorhandene Tabelle: fügt Daten in eine bereits vorhandene Tabelle ein. Es können folgende Optionen gewählt werden:
  • Append: fügt Datensätze hinzu.
  • Truncate Insert: leert die Tabelle, bevor neue Daten eingefügt werden.
  • Tabelle erstellen, falls nicht vorhanden: erstellt die Tabelle nur, wenn sie nicht gefunden wird, um Fehler bei wiederholten Ausführungen zu vermeiden.

Name der Zieltabelle

Geben Sie den Tabellennamen in der Datenbank an (z. B. example_table).

3. Tabellenstruktur

In diesem Tab wird die Zuordnung zwischen den XML-Knoten und den Spalten der Tabelle definiert. Obwohl der Input XML ist, wird für die Feldzuordnung die JSONPath-Syntax auf der internen Darstellung des Dokuments verwendet.

FeldBeschreibung
TypDatentyp (STRINGA, NUMERICO, DATA, DATUM UND UHRZEIT).
PräzisionMaximale Länge (Strings) oder numerische Präzision.
AliasName der Spalte in der Datenbank.
JSONPath-AusdruckPfad zum Extrahieren des Werts aus dem XML-Knoten (z. B. $.task_name).

Table Structure Management

Unten rechts in der Tabellenstruktur befinden sich drei Schaltflächen:

SchaltflächeAktion
SpeichernSpeichert die definierte Struktur
ImportierenImportiert eine vorhandene Struktur
ExportierenExportiert die definierte Struktur

Diese Funktion ermöglicht es, Zuordnungen zu speichern, zu exportieren oder wiederzuverwenden, wodurch die manuelle Konfiguration von Feldern vermieden und das Fehlerrisiko reduziert wird.

Technischer Hinweis

Sichtbarkeit: In diesem System sind gespeicherte Strukturen nur für den erstellenden Benutzer sichtbar. Vertiefung: Für eine detaillierte Beschreibung aller Optionen und der Funktionslogik verweisen Sie auf die Seite Table Structure.

4. Konfigurationsbeispiel

Gegeben sei das folgende eingehende XML:

<tasks>
<task>
<task_name>Generate Summary</task_name>
<status>pending</status>
</task>
</tasks>

Tabellenstruktur

Die Tabellenstruktur wird wie folgt konfiguriert:

TypPräzisionAliasJSONPath-Ausdruck
STRINGA1000task_name$.task_name
STRINGA1000status$.status

Ausgabeparameter

  • exitStatus: Statuscode (0 = Erfolg)
  • rowCount: Anzahl der eingefügten Datensätze (z. B. 3)
  • targetTable: Name der Zieltabelle
  • DataExportCsv / DataExportJson: Die importierten Daten im jeweiligen Standard formatiert
  • Dataset.NomeCampo: Feldwert für die Verwendung in einem Iterator
  • DataColumn.NomeCampo: Zeichenkette mit allen Werten der Spalte, durch Komma getrennt (z. B. pending, done, running)
  • resultJson: Vollständiger technischer Bericht der Operation

Beispiel resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}