Shredding einer xml-Datei mit xmltable

smirk_mirkin

Benutzer
Beiträge
14
Hallo zusammen,

ich habe eine xml-Datei auf meinem Rechner und eine "passende" relationale Datenbank auf einem DB2-Server.
Die Daten aus der Datei sollen nun durch SQL-Statements mit der xmltable-Funktion in die relationalen Schemata eingefügt werden. Mein Codebeispiel:

Code:
INSERT INTO BUCH(IDPRODUKT, BEZEICHNUNG)
    SELECT x.idprodukt, x.bezeichnung
    FROM XMLTABLE('$i/Book' PASSING CAST(? AS XML) AS "i"
            COLUMNS
                idprodukt         INTEGER             PATH '@asin',
                bezeichnung     VARCHAR(200)    PATH 'title') AS x;

Mein Problem: Wie teile ich dem Server jetzt mit, welche xml-Datei er nehmen soll?
Reicht es Dateipfad, Dateiname etc. irgendwo einzutragen?
Ich weiß nur, dass das irgendwas mit dem '?' zu tun hat.
 
Werbung:
Gehört das eventuell hinter PATH wo derzeit die Variable @asin steht? Einfach mal den Dateipfad in die Striche hinter PATH setzen und den SELECT Teil ausführen.
 
Gehört das eventuell hinter PATH wo derzeit die Variable @asin steht? Einfach mal den Dateipfad in die Striche hinter PATH setzen und den SELECT Teil ausführen.

Ich tippe mal eher auf den Bereich From xmltable ..., das andere sind wohl eher Anweisungen, die einzelnen Spalten zu parsen. Aber nix genaues weiß man halt nicht ... gibt es denn keine Doku dazu?
 
Werbung:
Also akretschmer hat recht, es gehört definitiv in den FROM-Bereich.
Ich weiß nur nicht so genau was die Zeile eigentlich bedeutet, bei dem anderen ists mir klar.
PATH dient nur dazu im File selbst zu navigieren.
Eine verständliche Doku habe ich dazu noch nicht finden können.
 
Zurück
Oben