Los tipos de datos LONG y LONG RAW han quedado obsoletos en favor de CLOB y BLOB desde Oracle 8.0 (es decir, hace casi quince años). La razón principal de este cambio es que las columnas LARGAS son realmente difíciles de trabajar, y eso se duplica para RAW LARGO.
Como ya ha descubierto, hay un límite en lo que podemos hacer en PL/SQL. Ese límite es 32K. Las columnas LONG RAW más grandes solo se pueden manejar en C.
Tom Kyte solía albergar una utilidad para descargar columnas Long Raw en un archivo plano, que luego se podía cargar en columnas LOB modernas a través de SQL Loader. Esta utilidad parece no estar disponible (no está en la lista de archivos /~tkyte en su blog).
Sin embargo, Fangxin Lou ha escrito una versión de otra utilidad de Tom Kyte, a la que llama ociuldr
. y que al parecer maneja Long Raw. Puede descargar la fuente desde su sitio web. Más información
.
NOTA No he probado ociuldr
para mí (no me he encontrado con un Long Raw desde el último milenio), y no lo estoy garantizando de ninguna manera. Pero parece ser la única solución que ofrece Internet en este momento. Así que le sugiero que lo pruebe, a menos que tenga buenas habilidades de OCI y pueda escribir su propia implementación.