0
XML-styleデータを含むCLOB列がありますが、親子ノードの関係はありません。それは次のようになります。Oracle Clobのノード値の抽出
<servicePointExternalId>8629391888</servicePointExternalId><externalSPType>E-M-COM</externalSPType><faType>M-STARTS</faType><requesterUserId>E05920</requesterUserId><replyToExternalSystem>D1YS</replyToExternalSystem><externalReferenceId>47676141503102</externalReferenceId><retryDetails><numberOfRetries>0</numberOfRetries><isToDoEntrySuppressed>false</isToDoEntrySuppressed><retryDateTime>2017-04-28-18.16.53</retryDateTime><currentErrorState>VALERROR</currentErrorState></retryDetails><contactDetails><customerName>Hofstader, Leonard</customerName><contactName>Hofstader, Leonard</contactName><accountId>5669202300</accountId><personId>9538791588</personId></contactDetails><saList><eventType>D1ST</eventType><saId>5668577181</saId></saList>
私はちょうどこのフィールドから(E05920なければなりません)requesteruserID
値を抽出しようとしていますし、私はこのエラーメッセージを取得しています:私は間違って
ORA-31011: XML parsing failed
ORA-19213: error occurred in XML processing at lines 1
LPX-00245: extra data after end of document
ORA-06512: at "SYS.XMLTYPE", line 272
ORA-06512: at line 1
31011. 00000 - "XML parsing failed"
*Cause: XML parser returned an error while trying to parse the document.
*Action: Check if the document to be parsed is valid.
何をしています?
あなたの答えに基づいて、お返事をいただきありがとうございます。私のコードはこのようになります。 セレクトXMLQUERY( '/ルート/ requesterUserId /テキスト()' 通過のXMLType(A.BO_DATA_AREA( ' ')|| A.BO_DATA_AREA ||' ') 復帰コンテンツ)CISADM.D1_ACTIVITY Aから結果として ; ORA-00904: "A"。 "BO_DATA_AREA":無効な識別子 00904. 00000 - "%s:無効な識別子" *原因: –
これは、 ; 'A.BO_DATA_AREA( '')'はto_clob( '') 'にする必要があります。 ( 'to_clob()'は、連結演算子の最初の引数が 'clob'であることを確認することです(実際は必要ありません)(https://docs.oracle.com/cloud/latest/db112/ SQLRF/operators003.htm#SQLRF51158)。 –
ああ、シュート、申し訳ありません。私はあなたが実際の列のプレースホルダとしてTO_CLOBを意味していたと思っていました。間違いの申し訳ありません。関係なく、 ORA-00904、同じエラーが発生しているようだ: "TO_CLOB":無効な識別子 00904. 00000 - "%sの:無効な識別子" *原因: *アクション: はその列または何かを考えですか?途中で迅速な回答をいただきありがとうございます。本当に助けてくれてありがとう! –