Ich glaube nicht, dass dies mit SQL Developer möglich ist (aber dann verwende ich es nicht sehr oft).
Der von mir verwendete SQL-Client - SQL Workbench/J - kann dies tun.
Es gibt mehrere Möglichkeiten, diese Daten zu exportieren.
Generieren Sie ein proprietäres Skript
Es kann ein SQL-Skript erstellen, das eine spezielle (werkzeugspezifische) Notation verwendet, um auf eine externe Datei zu verweisen, etwa so:
INSERT INTO images
(name, data)
VALUES
('foobar', {$blobfile='blob_r1_c2.data'});
Die obige Anweisung kann nur mit SQL Workbench erneut ausgeführt werden. Es ist mit keinem anderen SQL-Client kompatibel.
Verwenden Sie utl_raw
Eine andere Alternative ist die Verwendung eines "Blob-Literals", aber aufgrund der Begrenzung von Oracle auf 4000 Bytes für ein Zeichenliteral funktioniert dies nur für wirklich kleine Blob-Werte:
INSERT INTO images
(name, data)
VALUES
('foobar', to_blob(utl_raw.cast_to_raw('......')));
wobei das Zeichenliteral für cast_to_raw
ist Aufruf würde die Hex-Werte des BLOB enthalten. Da dies 2 Zeichen pro "Blob-Byte" erfordert, können Sie damit keine BLOBs größer als 2000 Bytes verarbeiten. Aber diese Syntax würde für fast alle Oracle SQL-Tools funktionieren (wenn sie mit Skripten mit sehr langen Zeilen umgehen können).
SQL*Loader-Eingabedatei
Die dritte Alternative besteht darin, die Daten in eine Textdatei zu exportieren, die mit SQL*Loader importiert werden kann:
Die Textdatei würde etwa Folgendes enthalten:
NAME DATA foobar blob_r1_c2.data
Zusammen mit der folgenden SQL*Loader-Steuerdatei:
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 )
Diese kann mit SQL*Loader geladen werden und benötigt somit keine SQL Workbench zum Importieren der Daten.
Weitere Einzelheiten finden Sie im Handbuch
Bearbeiten
Wie Alex in seinem Kommentar betont hat, können Sie auch einen DataPump-Export verwenden - aber das erfordert, dass Sie Zugriff auf das Dateisystem auf dem Server haben. Die oben genannten Lösungen speichern alle die Daten auf dem Client.