2017-04-12 64 views
1

當我執行使用蟾蜍對Oracle 11g數據庫下列SQL,完全形成的XML成功返回:SQL數據中提取在Oracle 11g中的作品,但不包括Oracle 12c中

With T As (SELECT dbms_xmlgen.getxml('SELECT m.trans_message FROM xml_nodes_ams_in a, message m WHERE a.id = m.msg_id AND a.UPN IN(''A30971016528VE8K'',''A30971016529VE84'') ORDER BY a.upn ASC' 
) As output_xml from dual 
) select dbms_xmlgen.Convert(output_xml,1) from T 

然而,當我執行的確切與我們新安裝的Oracle 12c數據庫相同的SQL,某些XML數據似乎缺失(大約5000個字符)。

我跟他說,有反對,將導致此數據庫中沒有設定誰估計它的客戶端問題,而不是數據庫的問題DBA討論這一點。

有沒有人有我如何能進步這個問題任何意見?

+0

可能在12c數據庫中存在不完整的數據。檢查兩個數據庫是否在表xml_nodes_ams_in中包含相同數量的數據。 –

+0

兩個數據庫都包含相同的數據。當我使用TOADs過濾器功能手動提取數據時,XML格式良好並且完整。 –

+0

是否最終的CLOB被截斷,或者XML中是否有數據丟失?顯示多少數據? Toad中是否存在與SQL \ * Plus'set long'類似的設置,用於確定CLOB的顯示多少 - 如果您使用相同的客戶端訪問兩個DB,可能是在連接級別? –

回答

1

我提出了一個與Oracle的服務請求,他們回來找我,並建議有是在Oracle 12.1 dbms_xmlgen.Convert功能是在Oracle 12.2的錯誤。基本上,函數失敗,XML大於120 KB。

+0

非常令人震驚的是,這樣的錯誤可能會通過過濾器 – APC