1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Shredding einer xml-Datei mit xmltable

Dieses Thema im Forum "DB2" wurde erstellt von smirk_mirkin, 30 Juni 2014.

  1. smirk_mirkin

    smirk_mirkin Benutzer

    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.
     
  2. ukulele

    ukulele Datenbank-Guru

    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.
     
  3. akretschmer

    akretschmer Datenbank-Guru

    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?
     
  4. smirk_mirkin

    smirk_mirkin Benutzer

    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.
     

Diese Seite empfehlen