Problème de transtypage CLOB->XMLTYPE
Bonjour,
J'ai une table déclarée ainsi
Code:
1 2 3 4 5
| CREATE TABLE XSOURCE
(
ID_OBJ INTEGER NOT NULL,
LC_DOC VARCHAR2(105 BYTE),
OB_DOC CLOB) |
et peuplée de quelques milliers de lignes.
La colonne en CLOB contient normalement du XML.
J'ai une autre table
Code:
1 2 3 4 5
| CREATE TABLE XCIBLE
(
ID_OBJ INTEGER NOT NULL,
LC_DOC VARCHAR2(105 BYTE),
XML_DOC SYS.XMLTYPE) |
que je souhaite alimenter par le contenu de la 1ère:
Code:
1 2 3
| INSERT INTO XCIBLE
( ID_OBJ, LC_DOC, XML_DOC)
( SELECT ID_OBJ, LC_DOC, XMLTYPE(OB_DOC) FROM XSOURCE) |
Mais, j'obtiens cette erreur
Citation:
ORA-31011: Echec d'analyse XML
ORA-19202: Une erreur s'est produite lors du traitement la fonction XML (
LPX-00216: invalid character 156 (0x9C)
Error at line 33
)
ORA-06512: à "SYS.XMLTYPE", ligne 0
ORA-06512: à ligne 1
Le caractère 156 correspond a priori à £ (livre anglaise).
Je n'avais qu'une ligne contenant ce caractère; je l'ai supprimé.
La requète
Code:
1 2
| SELECT ID_OBJ, LC_DOC, OB_DOC FROM XSOURCE
WHERE OB_DOC LIKE '%£%' |
m'avait permis de trouver cette ligne, mais ne sélectionne plus rien maintenant.
Pourtant l'erreur persiste :roll:
Quelqu'un a t-il une idée, une solution ?
Je suis sous Oracle 9.2
:merci: