ORA-22992 : impossible d’utiliser les pointeurs de LOB sélectionnés dans les tables distantes
Un bug Oracle (366122.1) qui traine depuis des années et toujours pas résolu en Oracle 11.
Une simple requête sur une table distante à travers un dbLink :
select * from prod.data_clients@DBLINK_PROD;
renvoie le message suivant : ORA-22992: impossible d’utiliser les pointeurs de LOB sélectionnés dans des tables distantes
Ce message Indique simplement que la table distante contient des données du type CLOB (type de donnée qui peut contenir jusqu’à 4Go de données).
Contourner ce bug pour lire les CLOBs à distance
Les solutions ne sont pas très élégantes.
solution 1 : créer une table
create table TMP_READ_CLOB as select * from prod.data_clients@DBLINK_PROD;
solution 2 : pour une seule colonne, utiliser un select de select
SELECT (select champ from prod.data_clients@DBLINK_PROD) FROM DUAL;
Je n’ai pas trouvé mieux pour contourner cette limitation. Ce bug est d’autant plus gênant qu’à chaque fois qu’on va lire une table distante dans TOAD, on aura ce message d’erreur ORA-22992, ce qui est vraiment pénible à la longue ; à moins que ce bug Oracle soit géré dans les versions ultérieures à TOAD 9.5 ?
Et vous, comment faites-vous pour gérer lire les CLOBs à travers un dbLink ?
[wysija_form id= »2″]