Od czasu Oracle 8.0 (czyli prawie piętnaście lat temu) typy danych LONG i LONG RAW zostały wycofane na rzecz CLOB i BLOB. Głównym powodem tego przełączenia jest to, że naprawdę ciężko pracuje się z kolumnami LONG, co jest podwójne w przypadku LONG RAW.
Jak już odkryłeś, w PL/SQL istnieje limit tego, co możemy zrobić. Ten limit to 32K. Większe kolumny LONG RAW mogą być obsługiwane tylko w C.
Tom Kyte był gospodarzem narzędzia do rozładowywania kolumn Long Raw do płaskiego pliku, który można następnie załadować do nowoczesnych kolumn LOB za pomocą programu ładującego SQL. Wygląda na to, że to narzędzie jest niedostępne (nie ma go na liście plików /~tkyte na jego blogu).
Jednak Fangxin Lou napisał wersję innego narzędzia Toma Kyte, które nazywa się ociuldr
i która najwyraźniej obsługuje Long Raw. Możesz pobrać źródło z jego strony internetowej. Dowiedz się więcej
.
Uwaga Nie próbowałem ociuldr
dla siebie (nie spotkałem się z Long Raw od ostatniego tysiąclecia) i nie ręczę za to w żaden sposób. Ale wydaje się, że jest to jedyne rozwiązanie, jakie obecnie oferuje internet. Sugeruję więc, abyś spróbował, chyba że masz dobre umiejętności OCI i potrafisz napisać własną implementację.