0

ルーチンを使用して clob データを設定しています。ここで、匿名の pl/sql ブロッ​​クを介して、このデータをローカル マシンのファイル (.html) に書き込む必要があります。

  • clob データには、html タグを持つデータが含まれています。

コードは、SET HEADING OFF SET LINESIZE 32767 SET LONG 32767 SET PAGESIZE 0 spool abc.html DECLARE v1 CLOB; のようになります。l_offset INTEGER := 1;
BEGIN proc1( v1); -- OUT パラメータ -- データをスプールするために、l_offset > dbms_lob.getlength(l_clob); の場合に dbms_output ループ出口を使用しています。DBMS_OUTPUT.PUT_LINE (dbms_lob.substr( l_clob, 255, l_offset)); l_offset := l_offset + 255; ループを終了します。終わり;

spool off

これを行うと、ファイル内の clob のコンテンツを取得できますが、生成された html ファイルは期待どおりに動作しません (dbms_output を使用して一度に 255 バイトを書き込むと、html コンテンツが歪むため)。

clob のコンテンツをローカル マシン上のファイルに書き込む他の方法はありますか?

手伝ってください。

4

1 に答える 1

0

PUT_LINE を呼び出すと、指定した項目の後に自動的に行末マーカーが続きます。行を作成するために PUT を呼び出す場合は、NEW_LINE を呼び出して独自の行末マーカーを追加する必要があります。GET_LINE および GET_LINES は、改行文字で終了していない行を返しません。

DBMS_OUTPUT.PUT (item IN VARCHAR2) プロシージャを使用

于 2012-12-19T07:02:59.637 に答える