it-swarm.com.de

ORA-29913 und ORA-30653 Fehler bei der Auswahl einer externen Tabelle

Ich habe eine externe Tabelle mit einer .tbl-Datei erstellt und jetzt versuche ich, alle Zeilen aus dieser Tabelle auszuwählen, indem ich:

select * from users_load;

Aber ich bekomme diesen Fehler:

ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-30653: reject limit reached 

Wissen Sie, warum dieser Fehler auftritt? Diese Tabelle hat Millionen von Zeilen, ich weiß nicht, ob das daran liegen kann ...

4
johy

Sie können die Anzahl der Zeilen angeben, die zurückgewiesen werden dürfen, bevor ein Fehler ausgegeben wird, oder Sie können UNLIMITED angeben. Ich denke du hast eine Nummer angegeben, aber dein .tbl Datei enthält Zeilen, die die Datenbank basierend auf Ihrer Definition nicht richtig analysieren kann.

(enter image description here

Wenn Sie alle fehlerhaften Zeilen ignorieren möchten, können Sie das Limit einfach in UNLIMITED ändern:

alter table users_load reject limit unlimited;

beispiel für eine Tabellenerstellung:

CREATE TABLE foo_load (
    employee_number CHAR(5)
) ORGANIZATION EXTERNAL (
    TYPE Oracle_LOADER
    DEFAULT DIRECTORY ext_tab_dir
    ACCESS PARAMETERS (
        ...
    )
    LOCATION ('foo.txt')
)
REJECT LIMIT UNLIMITED; --Use limit, not limited
4
Balazs Papp