Oracle External tables und tabseparierte Datei

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Oracle External tables und tabseparierte Datei

    Hallo zusammen,
    seit letzter woche beschäftigt mich ein Problem.
    und zwar habe ich eine External table um daten aus der Datei zu lesen.

    Quellcode

    1. create table external_example (
    2. col1 Number
    3. ,col2 Varchar2(20)
    4. ,col3 Varchar2(20)
    5. )
    6. ORGANIZATION EXTERNAL
    7. (
    8. TYPE ORACLE_LOADER
    9. DEFAULT DIRECTORY DATA
    10. ACCESS PARAMETERS
    11. (
    12. RECORDS DELIMITED BY NEWLINE
    13. BADFILE 'BadFile.bad'
    14. LOGFILE 'LogFile.log'
    15. NODISCARDFILE
    16. FIELDS TERMINATED BY 0x'9'
    17. MISSING FIELD VALUES ARE NULL
    18. (
    19. col1
    20. ,col2
    21. ,col3
    22. )
    23. )
    24. LOCATION ('file_with_tabs.txt')
    25. )
    26. ;
    Alles anzeigen


    Die struktur der Daten ist die folgende

    #unimportant header#
    1[\t]Text1[\t]Text2
    2[\t]qwerty[\t]qwer
    3[\t]Text3[\t]Text4
    4[\t]Text Text[\t]Text5

    [\t] = Tab character = x09

    Bis letzte Woche war alles super, doch ab letzter Woche gibt es in der Datei einen Datensatz, dass die Sache komplizierter macht.
    Und zwar sieht der Datensatz folgendermaßen aus:


    #unimportant header#
    1[\t][\t]"Text1 text[\t]text"

    [\t] = Tab character = x09


    das ganze sollte dann eben in 3 Spalten aufgeteilt werden
    1. 1
    2. null
    3. Text1 text[\t]text

    Das Problem liegt im 3. Feld und zwar kommt da ein Tab vor, und ich meine aus diesem Grund wird dieser in Hochkomma geliefert.

    Der erste Ansatz Funktion
    OPTIONALLY ENCLOSED BY '"' zu nutzen ist gescheitert und zwar weil Oracle bei dem Einsatz diese Funktion die vorstehenden Leerzeichen entfernt, somit wird aus einer 3 spaltigen eine 2 splatige Zeile.
    und der Wert aus der dritten spalte rückt in die 2. spalte.

    Ein einfache Lösung habe bis jetzt nicht gefunden. sind hier evnt Oracle experten?
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.