Nemyslím si, že je to možné s SQL Developerem (ale pak to moc často nepoužívám).
Klient SQL, který používám - SQL Workbench/J - to umí.
Existuje několik způsobů, jak tato data exportovat.
Vygenerujte proprietární skript
Může vytvořit skript SQL, který používá speciální (nástroj specifický) zápis k odkazování na externí soubor, něco jako:
INSERT INTO images
(name, data)
VALUES
('foobar', {$blobfile='blob_r1_c2.data'});
Výše uvedený příkaz lze znovu provést pouze pomocí SQL Workbench. Není kompatibilní s žádným jiným SQL klientem.
Použijte utl_raw
Další alternativou je použití „blob literálu“, ale kvůli limitu Oracle na 4000 bajtů pro znakový literál to funguje pouze pro skutečně hodnoty malých objektů blob:
INSERT INTO images
(name, data)
VALUES
('foobar', to_blob(utl_raw.cast_to_raw('......')));
kde znakový literál pro cast_to_raw
volání by obsahovalo hexadecimální hodnoty BLOB. Protože to vyžaduje 2 znaky na "bajt blob", nemůžete s tím zpracovat objekty BLOB větší než 2000 bajtů. Ale tato syntaxe by fungovala pro téměř všechny nástroje Oracle SQL (pokud zvládnou skripty s velmi dlouhými řádky).
Vstupní soubor SQL*Loader
Třetí alternativou je export dat do textového souboru, který lze importovat pomocí SQL*Loader:
Textový soubor by obsahoval něco takového:
NAME DATAfoobar blob_r1_c2.data
Společně s následujícím řídicím souborem SQL*Loader:
OPTIONS (skip=1)LOAD DATA CHARACTERSET 'WE8ISO8859P15'INFILE 'images.txt'APPENDINTO TABLE IMAGESFIELDS TERMINED BY '\t' TRAILING NULLCOLS( NAME, lob_file_data FILLER, DATABLOB Ldata FILLER, DATAB LAB>To lze načíst pomocí SQL*Loader, a proto k importu dat nepotřebuje SQL Workbench.
Další podrobnosti jsou v manuálu
Upravit
Jak zdůraznil Alex ve svém komentáři, můžete také použít export DataPump - ale to vyžaduje, abyste měli přístup k systému souborů na serveru. Všechna výše uvedená řešení ukládají data na klientovi.