使用Spool将clob变量输出到文件

时间:2018-04-25 21:29:53

标签: oracle plsql oracle-sqldeveloper

我连接到SQL Developer中远程服务器上的Oracle数据库。我有一个PL / SQL脚本,用于存储clob变量中的数据。我希望将此变量的数据输出到本地计算机上的文件

我遇到了SPOOL,但我想我没有正确使用它。

以下是我的脚本:

set echo off
set serveroutput on FORMAT WRAPPED
set verify off
set feedback off
set termout off

DBMS_OUTPUT.ENABLE(1000000);

SPOOL C:\home\output.txt

declare
    content CLOB;
begin
    -- do something with content
end;

spool off

set termout on
set feedback on

当我运行脚本时,没有任何内容写入文件C:\ home \ output.txt。我希望将clob变量content中的数据写入文件。

我该怎么办?

编辑:如果有人知道更好/另一种方法将clob变量写入文件(除了SPOOL),请随时提出建议。

编辑2:也许值得一提的是我的clob变量的内容大于32767字节。我不知道这会如何影响解决方案。

1 个答案:

答案 0 :(得分:1)

你尝试过这样的SET套装吗?

set linesize 32767 
set long 32767 
set longchunksize 32767 
set trimout on 
set trimspool on

spool output.txt

select clob_column
from your_table;

spool off

由于CLOB超过32767,它不适合单行。