1

XML を生成してファイルに書き込む必要があります。utl_file.put_line を使用しました。ファイルを作成しますが、何も書き込まれません。また、エラーは表示されません。ディレクトリに書き込む権限があるかどうかはすでに確認しました。コード:

SET serveroutput ON;
DECLARE
    ctx DBMS_XMLGEN.CTXHANDLE;
    resposta CLOB;
    xml_file utl_file.file_type;
BEGIN
    xml_file:=utl_file.fopen ('DATA_PUMP_DIR', 'xml.txt', 'W');
    ctx := dbms_xmlgen.newContext ('select * from tb_museu M where M.cnpj=111111 OR   M.cnpj=222222');
    dbms_xmlgen.setRowsetTag (ctx, 'TODOS_OS_MUSEUS');
    dbms_xmlgen.setRowTag (ctx, 'MUSEU');
    resposta :=dbms_xmlgen.getXML (ctx);
    utl_file.put_line (xml_file,'teste');
    --utl_file.put_line (xml_file,resposta);
   dbms_xmlgen.closeContext(ctx);
END;
/
4

1 に答える 1

1

パフォーマンス上の理由から、UTL_FILE はディスク上の実際のファイルに定期的にフラッシュされるバッファを使用します。通常、フラッシュについて心配する必要はありませんが、最後にUTL_FILE.fclose(xmlfile);.

于 2014-02-19T04:24:07.847 に答える