Oracle
 sql >> Database >  >> RDS >> Oracle

recupero di dati grezzi lunghi nella variabile clob

I tipi di dati LONG e LONG RAW sono stati deprecati a favore di CLOB e BLOB a partire da Oracle 8.0 (ovvero quasi quindici anni fa). Il motivo principale di questo cambiamento è che le colonne LONG sono davvero difficili da lavorare e questo vale il doppio per LONG RAW.

Come hai già scoperto, c'è un limite a ciò che possiamo fare in PL/SQL. Quel limite è 32K. Le colonne LONG RAW più grandi possono essere gestite solo in C.

Tom Kyte ospitava un'utilità per scaricare le colonne Long Raw in un file flat, che poteva quindi essere caricato nelle moderne colonne LOB tramite SQL Loader. Questa utility sembra non essere disponibile (non è nell'elenco dei file /~tkyte sul suo blog).

Tuttavia, Fangxin Lou ha scritto una versione di un'altra utility di Tom Kyte, che ha chiamato ociuldr e che apparentemente gestisce Long Raw. Puoi scaricare la fonte dal suo sito web. Scopri di più .

NB Non ho provato ociuldr per me stesso (non mi sono imbattuto in un Long Raw dall'ultimo millennio), e non lo confermo in alcun modo. Ma sembra essere l'unica soluzione che Internet offre in questo momento. Quindi ti suggerisco di provarlo, a meno che tu non abbia buone capacità OCI e sia in grado di scrivere la tua implementazione.