Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

recuperando dados brutos longos na variável clob


Os tipos de dados LONG e LONG RAW foram preteridos em favor de CLOB e BLOB desde o Oracle 8.0 (ou seja, quase quinze anos atrás). A principal razão para esta mudança é que as colunas LONG são realmente difíceis de trabalhar, e isso vale o dobro para LONG RAW.

Como você já descobriu, há um limite para o que podemos fazer em PL/SQL. Esse limite é 32K. Colunas LONG RAW maiores só podem ser tratadas em C.

Tom Kyte costumava hospedar um utilitário para descarregar colunas Long Raw em um arquivo simples, que poderia ser carregado em colunas LOB modernas por meio do SQL Loader. Este utilitário parece estar indisponível (não está na lista de arquivos /~tkyte em seu blog).

No entanto, Fangxin Lou escreveu uma versão de outro utilitário Tom Kyte, que ele chama de ociuldr e que aparentemente lida com Long Raw. Você pode baixar a fonte de seu site. Saiba mais .

NB Eu não tentei ociuldr para mim (não encontro um Long Raw desde o último milênio), e não estou garantindo isso de forma alguma. Mas parece ser a única solução que a internet oferece no momento. Portanto, sugiro que você experimente, a menos que tenha boas habilidades de OCI e possa escrever sua própria implementação.