Je ne pense pas que ce soit possible avec SQL Developer (mais je ne l'utilise pas très souvent).
Le client SQL que j'utilise - SQL Workbench/J - peut le faire.
Il existe plusieurs façons d'exporter ces données.
Générer un script propriétaire
Il peut créer un script SQL qui utilise une notation spéciale (spécifique à l'outil) pour référencer un fichier externe, quelque chose comme :
INSERT INTO images
(name, data)
VALUES
('foobar', {$blobfile='blob_r1_c2.data'});
L'instruction ci-dessus ne peut être exécutée à nouveau qu'avec SQL Workbench. Il n'est compatible avec aucun autre client SQL.
Utilisez utl_raw
Une autre alternative consiste à utiliser un "littéral blob", mais en raison de la limite d'Oracle sur 4000 octets pour un littéral de caractère, cela ne fonctionne que pour vraiment petites valeurs blob :
INSERT INTO images
(name, data)
VALUES
('foobar', to_blob(utl_raw.cast_to_raw('......')));
où le caractère littéral pour le cast_to_raw
call contiendrait les valeurs hexadécimales du BLOB. Comme cela nécessite 2 caractères par "octet de blob", vous ne pouvez pas gérer les BLOB de plus de 2000 octets avec cela. Mais cette syntaxe fonctionnerait pour presque tous les outils Oracle SQL (s'ils peuvent gérer des scripts avec de très longues lignes).
Fichier d'entrée SQL*Loader
La troisième alternative consiste à exporter les données dans un fichier texte qui peut être importé à l'aide de SQL*Loader :
Le fichier texte contiendrait quelque chose comme ceci :
NAME DATA foobar blob_r1_c2.data
Avec le fichier de contrôle SQL*Loader suivant :
OPTIONS (skip=1) LOAD DATA CHARACTERSET 'WE8ISO8859P15' INFILE 'images.txt' APPEND INTO TABLE IMAGES FIELDS TERMINATED BY '\t' TRAILING NULLCOLS ( NAME, lob_file_data FILLER, DATA LOBFILE(lob_file_data) TERMINATED BY EOF )
Cela peut être chargé à l'aide de SQL*Loader et n'a donc pas besoin de SQL Workbench pour importer les données.
Plus de détails dans le manuel
Modifier
Comme Alex l'a souligné dans son commentaire, vous pouvez également utiliser une exportation DataPump - mais cela nécessite que vous ayez accès au système de fichiers sur le serveur. Les solutions ci-dessus stockent toutes les données sur le client.