2017-03-01 2 views
2

ich den Code unten sind mit Daten aus Quell Legacy-Datenbank zu extrahieren und die Inbetriebnahme eine CLOB-Spalte in Ziel 11g DatenbankKonserve Sonder charcters Während Migration von Daten

RTRIM ( 
      XMLAGG (XMLELEMENT ( 
         e, 
         REPLACE ( 
          REGEXP_REPLACE ( 
          REPLACE (prod_desc, CHR (10), '~~~'), 
          '[[:cntrl:]]'), 
          '~~~', 
          CHR (10)), 
         CHR (10)) ORDER BY prod_date DESC).EXTRACT ('//text()').getclobval(), 
      CHR (10)) 

prod_desc Spalte ‚<‘, ‚>‘ ' & 'und andere Sonderzeichen werden diese durch &lt;&gt;, &amp; ersetzt.

Wie kann ich die oben genannten Werte beibehalten, auch wenn ich die Daten von der Quelle zum Ziel migriere?

Dank

+0

Was meinen Sie? ''<' , '>', '&'' werden ersetzt durch ''<' , '>', '&''? –

+0

@WernfriedDomscheit Entschuldigung, es gab ein Formatierungsproblem, meine Frage wurde korrigiert. – Ponic

+0

Verwenden Sie einfach 'Datapump' über Datenbank-Link – klashxx

Antwort

1

, dass eine Nebenwirkung von Oracle XML Tools ist.

Sie können es umkehren mit:

SQL> SELECT UTL_I18N.UNESCAPE_REFERENCE(RTRIM(XMLAGG(XMLELEMENT(E,'>')))) AS XML FROM dual; 
XML 
-------------------------------------------------------------------------------- 
<E>></E> 

vs

SQL> SELECT RTRIM(XMLAGG(XMLELEMENT(E,'>'))) AS XML FROM dual; 
XML 
-------------------------------------------------------------------------------- 
<E>&gt;</E> 
+0

Nicht sicher, wie Sie dies mit der my SQL-Anweisung verwenden. – Ponic

Verwandte Themen