XML zu Tabelle v.2
- 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.
| Feld | Beschreibung |
|---|---|
| Typ | Datentyp (STRINGA, NUMERICO, DATA, DATUM UND UHRZEIT). |
| Präzision | Maximale Länge (Strings) oder numerische Präzision. |
| Alias | Name der Spalte in der Datenbank. |
| JSONPath-Ausdruck | Pfad 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äche | Aktion |
|---|---|
| Speichern | Speichert die definierte Struktur |
| Importieren | Importiert eine vorhandene Struktur |
| Exportieren | Exportiert 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:
| Typ | Präzision | Alias | JSONPath-Ausdruck |
|---|---|---|---|
| STRINGA | 1000 | task_name | $.task_name |
| STRINGA | 1000 | status | $.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"
}
}