Jeg tror ikke, det er muligt med SQL Developer (men så bruger jeg det ikke så tit).
SQL-klienten jeg bruger - SQL Workbench/J - kan gøre dette.
Der er flere måder at eksportere disse data på.
Generer et proprietært script
Det kan oprette et SQL-script, der bruger en speciel (værktøjsspecifik) notation til at referere til en ekstern fil, sådan som:
INSERT INTO images
(name, data)
VALUES
('foobar', {$blobfile='blob_r1_c2.data'});
Ovenstående sætning kan kun udføres med SQL Workbench igen. Den er ikke kompatibel med nogen anden SQL-klient.
Brug utl_raw
Et andet alternativ er at bruge en "blob-literal", men på grund af Oracles begrænsning på 4000 bytes for en karakter-literal, virker dette kun for virkelig små klatværdier:
INSERT INTO images
(name, data)
VALUES
('foobar', to_blob(utl_raw.cast_to_raw('......')));
hvor tegnet bogstaveligt for cast_to_raw
opkald ville indeholde hex-værdierne for BLOB. Da dette kræver 2 karakterer pr. "blob byte", kan du ikke håndtere BLOBs større end 2000 bytes med det. Men den syntaks ville fungere for næsten alle Oracle SQL-værktøjer (hvis de kan håndtere scripts med meget lange linjer).
SQL*Loader-inputfil
Det tredje alternativ er at eksportere dataene til en tekstfil, der kan importeres ved hjælp af SQL*Loader:
Tekstfilen ville indeholde noget som dette:
NAVN DATAfoobar blob_r1_c2.data
Sammen med følgende SQL*Loader kontrolfil:
MULIGHEDER (spring over=1)INDLÆS DATATEGNSÆT 'WE8ISO8859P15'INFIL 'images.txt'FØJ TIL TABELBILLEDSFELTER AFSLUTTES AF '\t' EFTERFØLGENDE NULLCOLS( NAME, lob_file_data FILLER, Elob_file_data FILLER, Elob_file_data FILLER, Elob_LOBeD()data >Dette kan indlæses ved hjælp af SQL*Loader og behøver derfor ikke SQL Workbench for at importere dataene.
Flere detaljer findes i manualen
Rediger
Som Alex har påpeget i sin kommentar, kan du også bruge en DataPump eksport – men det kræver, at du har adgang til filsystemet på serveren. Ovenstående løsninger gemmer alle data på klienten.