Die Datentypen LONG und LONG RAW sind seit Oracle 8.0 (d. h. vor fast fünfzehn Jahren) zugunsten von CLOB und BLOB veraltet. Der Hauptgrund für diesen Wechsel ist, dass LONG-Spalten wirklich schwer zu bearbeiten sind, und das gilt doppelt für LONG RAW.
Wie Sie bereits festgestellt haben, gibt es in PL/SQL eine Grenze dessen, was wir tun können. Diese Grenze ist 32K. Größere LONG RAW-Spalten können nur in C verarbeitet werden.
Tom Kyte hostete früher ein Dienstprogramm zum Entladen von Long Raw-Spalten in eine Flatfile, die dann über SQL Loader in moderne LOB-Spalten geladen werden konnte. Dieses Dienstprogramm scheint nicht verfügbar zu sein (es steht nicht auf der Liste der /~tkyte-Dateien in seinem Blog).
Fangxin Lou hat jedoch eine Version eines anderen Tom-Kyte-Dienstprogramms geschrieben, das er ociuldr
nennt und die offenbar mit Long Raw umgeht. Sie können die Quelle von seiner Website herunterladen. Erfahren Sie mehr
.
NB Ich habe ociuldr
nicht ausprobiert für mich selbst (seit dem letzten Jahrtausend bin ich keinem Long Raw mehr begegnet), und ich verbürge mich in keiner Weise dafür. Aber es scheint die einzige Lösung zu sein, die das Internet derzeit anbietet. Daher schlage ich vor, dass Sie es versuchen, es sei denn, Sie haben gute OCI-Kenntnisse und können Ihre eigene Implementierung schreiben.