Oracle
 sql >> Base de données >  >> RDS >> Oracle

récupération de longues données brutes dans la variable clob

Les types de données LONG et LONG RAW sont obsolètes au profit de CLOB et BLOB depuis Oracle 8.0 (c'est-à-dire il y a près de quinze ans). La principale raison de ce changement est qu'il est très difficile de travailler avec les colonnes LONG, et cela double pour LONG RAW.

Comme vous l'avez déjà découvert, il y a une limite à ce que nous pouvons faire en PL/SQL. Cette limite est de 32K. Les colonnes LONG RAW plus grandes ne peuvent être gérées qu'en C.

Tom Kyte avait l'habitude d'héberger un utilitaire permettant de décharger des colonnes Long Raw dans un fichier plat, qui pouvait ensuite être chargé dans des colonnes LOB modernes via SQL Loader. Cet utilitaire semble indisponible (il ne figure pas dans la liste des fichiers /~tkyte sur son blog).

Cependant, Fangxin Lou a écrit une version d'un autre utilitaire de Tom Kyte, qu'il appelle ociuldr et qui gère apparemment Long Raw. Vous pouvez télécharger la source à partir de son site Web. En savoir plus .

NB Je n'ai pas essayé ociuldr pour moi (je n'ai pas rencontré de Long Raw depuis le dernier millénaire), et je ne le cautionne en aucune façon. Mais cela semble être la seule solution offerte par Internet en ce moment. Je vous suggère donc de l'essayer, à moins que vous n'ayez de bonnes compétences en OCI et que vous puissiez écrire votre propre implémentation.