Plsql ORA-19202:XML处理中出错ORA-24333:迭代计数为零
我在执行以下过程时遇到以下错误。请帮我找到解决办法。我对在Oracle中使用XML非常陌生。非常感谢你的帮助Plsql ORA-19202:XML处理中出错ORA-24333:迭代计数为零,plsql,Plsql,我在执行以下过程时遇到以下错误。请帮我找到解决办法。我对在Oracle中使用XML非常陌生。非常感谢你的帮助 PROCEDURE sp_fcp_extract is v_xml dbms_xmlgen.ctxHandle; xmloutput clob; v_taxid number; v_coid NUMBER; v_prod varchar2(10); v_disp varchar2(200); cursor Rev_c
PROCEDURE sp_fcp_extract is
v_xml dbms_xmlgen.ctxHandle;
xmloutput clob;
v_taxid number;
v_coid NUMBER;
v_prod varchar2(10);
v_disp varchar2(200);
cursor Rev_cur is select * from t_uar_reviews where CREATED_DATE='17-MAY-17' ;
r Rev_cur%rowtype;
cursor case_cur( c_revid IN t_uar_reviews.uar_review_id%type )
is select *
from t_uar_cases where uar_review_id= c_revid ;
c case_cur%rowtype;
begin
open Rev_cur;
loop
fetch Rev_cur into r;
exit when Rev_cur%notfound;
open case_cur( r.uar_review_id );
loop
fetch case_cur into c;
exit when case_cur%notfound;
BEGIN
select H.ssn_taxid_ind into v_taxid from wells.t_hogan_acct_cust_month h
where nvl(c.acct_nmbr,0) = nvl(regexp_replace(h.v_acct_num,'[^[:digit:]]'),0) ;
select ref.CIS_COID,ref.CIS_PROD into v_coid,v_prod from wells.t_hogan_cust_xref ref where c.ecn=ref.CIS_CUST_ECN ;
select d.disposition_desc into v_disp from t_disposition d where r.disposition_id=d.disposition_id ;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
END;
v_xml := DBMS_XMLGen.newContext('<BUSINESS_INDICATOR_ID>1</BUSINESS_INDICATOR_ID > ' ||
'<RECEIVED_DATE>' ||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')|| '</RECEIVED_DATE>' ||
'<ZONE_ID>1</ZONE_ID>' ||
'<ORIGINATOR_LAN_ID>' || r.REVIEWED_BY || '</ORIGINATOR_LAN_ID> ' ||
'<ORIGINATOR_AU>0070705</ORIGINATOR_AU>' ||
'<EVENT_DESCRIPTION>' || r.SUMMARY_NOTE || '</EVENT_DESCRIPTION> ' ||
'<FRAUD_POTENTIAL_LOSS_AMOUNT>' || (c.exposure_amt) || '</FRAUD_POTENTIAL_LOSS_AMOUNT> '|| --sum(exposure_amt)
'<ALERT_ID>' ||r.UAR_REVIEW_ID || '</ALERT_ID>' ||
'<CUSTOMER_TYPE_ID>' || v_taxid || '</CUSTOMER_TYPE_ID> ' ||
'<ENTERPRISE_CUSTOMER_NUMBER>' || c.ecn ||'</ENTERPRISE_CUSTOMER_NUMBER> '||
'<TAX_ID_NUMBER>' || c.tax_id ||'</TAX_ID_NUMBER> ' ||
'<ACCOUNT_NUMBER>' || c.acct_nmbr ||'</ACCOUNT_NUMBER>' ||
'<ACCOUNT_COMPANY_NUMBER>' || v_coid || '</ACCOUNT_COMPANY_NUMBER>' ||
'<ACCOUNT_PRODUCT_CODE>' || v_prod ||'</ACCOUNT_PRODUCT_CODE>' ||
-- '<EVENT_UAR_FRAUD_ATTACHMENT>' || wells.t_file_attachment ||'</EVENT_UAR_FRAUD_ATTACHMENT>' ||
-- '<FILE_NAME>' ||wells.t_file_attachment||'</FILE_NAME>' ||
'<DISPOSITON_STATUS_NAME>' || v_disp || '</DISPOSITON_STATUS_NAME>' ||
'<CASE_TYPE_NAME>' || c.case_type ||'</CASE_TYPE_NAME>' ||
'<CASE_NUMBER>' || c.case_nmbr||'</CASE_NUMBER>' ||
'<FRAUD_POTENTIAL_LOSS_AMOUNT>' || c.exposure_amt ||'</FRAUD_POTENTIAL_LOSS_AMOUNT>' ||
'<LAST_COMPANY_NAME>' || c.full_name||'</LAST_COMPANY_NAME>' ||
'<CASE_OPEN_DATE>' || to_char(c.created_date,'yyyy-mm-dd hh24:mi:ss')||'</CASE_OPEN_DATE>' ||
'<CASE_CLOSE_DATE>' || to_char(c.close_date,'yyyy-mm-dd hh24:mi:ss') ||'</CASE_CLOSE_DATE>' ||
'<CRIME_RING_ID>' || c.ring_id ||'</CRIME_RING_ID>' ||
'<CRIME_RING_NAME> </CRIME_RING_NAME>' ||
'<SOR_PARENT_CASE_ID>' || c.uar_case_id ||'</SOR_PARENT_CASE_ID>');
xmloutput := dbms_xmlgen.getxml(v_xml);
dbms_output.put_line(xmloutput);
end loop;
close case_cur;
end loop;
close Rev_cur;
end;
我得到的错误是
ORA-19202:XML处理中发生错误
ORA-24333:零迭代计数
ORA-06512:at SYS.DBMS_XMLGEN,第7行
ORA-06512:SYS.DBMS_XMLGEN,第147行
ORA-06512:第69行
1920200000-XML处理%s时出错
*原因:处理XML函数时出错
请给我建议一些解决办法
提前感谢我认为您使用了错误的功能。看,它需要一个ctxHandle或一个sql。看一看,我注意到你的XML中有一堆谎言被注释掉了。试着删除这些注释掉的行,看看你是怎么做的。