Bonjour ,

je vous présente mon Problème ,

je veux extraire des tables une base oracle sur un serveur distant sous format XML alors j'ai mis en place une solution en procédure PLSQL qui importe les table de la base distant vers ma base en local (base en local version 10G avec caractère set UTF-8)
et je fait l'extraction en XML des tables importer .

les tables sont tous des VARCHAR2 , NUMBER , DATE mais il y'a des colonne VARCHAR2 contient des charactere spéciaux (&,@,",',Ø,^,.....)

le problème que la solution génère un erreur ORA 31011 sur l'un des tables

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
CREATE OR REPLACE PROCEDURE "GENERATEXML" ( TableToExtract VARCHAR2) AS
 
XMLextracted   	CLOB;
XMLContext 	dbms_xmlgen.ctxHandle;
 
BEGIN
 
        XMLContext   := DBMS_XMLGEN.NEWCONTEXT('select * from '||TableToExtract);
 
        DBMS_XMLGEN.SETCONVERTSPECIALCHARS (XMLContext,true);
 
        XMLextracted := DBMS_XMLGEN.GETXML(XMLContext);
 
       DBMS_XMLGEN.CLOSECONTEXT(XMLContext);
 
....
 
EXCEPTION
 
	WHEN OTHERS THEN
 
		DBMS_OUTPUT.PUT_LINE(' ERROR in the fonction GenerateXML : '); 
 
		DBMS_OUTPUT.PUT_LINE('code : '||sqlcode); 
 
		DBMS_OUTPUT.PUT_LINE('message : '||sqlerrm); 
 
    ROLLBACK;
 
  END GenerateXML;

voici un exemple de données dans l'image qui génère l'erreur Nom : Sans titre.png
Affichages : 1407
Taille : 10,1 Ko


merci d'avance