Voici le scénario:Oracle clob sur dblink avec différents charset
Oracle A: charset WE8ISO8859P1
Oracle B: charset WE8MSWIN1252
Oracle A < - dblink -> Oracle B
Je ne peux pas accéder à Oracle B directement, les problèmes de pare-feu :(
Je dois obtenir des fichiers binaires d'OracleB et ces fichiers sont dans une colonne de type CLOB (ne me demandez pas pourquoi et je ne peux pas changer en BLOB).
J'utilise un "select insert" pour obtenir les fichiers de B à A et les convertir en binaire en utilisant la fonction clob_to_blob trouvée here.
Je reçois des fichiers corrompus et je crois que c'est parce qu'Oracle convertit WE8MSWIN1252 en WE8ISO8859P1 automatiquement sur le dblink (bien, la colonne est CLOB donc c'est du texte, non?).
Je ne peux pas modifier les charsets des bases de données de quelque façon que ce soit.
Y a-t-il une solution de contournement pour cela?
Merci à l'avance
Salut Gary, Non, si j'utilise la fonction de mon client (même avec @dblinkname) je reçois toujours un ORA-22992 :( Je pense que la seule chose que vous peut faire avec LOBS sur dblinks est un insert/select Les fichiers sont très bien sur le système distant :( Je déteste quand vous devez payer pour la mauvaise décision de quelqu'un d'autre dans le passé (fichiers binaires comme clobs ...) – andrecarlucci
Enfin, j'ai réussi à obtenir une vue créée sur le côté distant.Cette vue convertit le clob en blob encore dans le côté distant et puis je peux utiliser insert/select de la base de données locale quand je veux.Tks pour l'idée de vue. – andrecarlucci