如何在没有dbms_output和utl_file的情况下“打印”变量-Oracle

时间:2018-07-04 11:45:18

标签: oracle plsql plsqldeveloper

我在没有权限创建目录的远程服务器上,并且我想要查看Clob列(xml代码)。由于我使用的是PL / SQL_developer的非常旧的版本(8.0.4),因此无法更新到新版本,因为只有一个“从T中选择X”,因此得到“ CLOB”。因此,我在互联网上found this在AskTOM中搜索,然后尝试使用plsql解决方案

declare
my_var varchar2(32000 char); --tried with long, didn't work too.
begin 
for x in ( SELECT X from T) 
loop
    my_var := dbms_lob.substr( x.X, 32000, 1 );
    dbms_output.put_line(my_var);
end loop;
end;

但是,当我尝试运行时,“ ORA-20000 ORU-10027缓冲区溢出限制为10000字节”。

我尝试使用DBMS_OUTPUT.ENABLE(32000)增加限制。但是也出现了错误“ ORA-06502:PL / SQL:数字或值错误:字符串缓冲区太小”,我只能降低10000的限制。

我知道我没有将SET服务器输出打开,但是当我尝试添加此行时,请猜测一下,错误:“ ORA-00922:缺少或无效的选项”,但是如果我输入4000而不是32000,它可以工作,显示前4000b的数据,因此,我不需要这一行。

因此,由于变量太大,我无法打印,并且由于没有特权,所以无法将文本写入文件,还有其他方法可以查看该变量吗?

0 个答案:

没有答案