如何在oracle中假脱机查询结果

How to spool query results in oracle

我正在尝试打印查询结果。这是 Oracle SQL 脚本:

set linesize 32767;
set pagesize 0; 
set newpage 0;
set space 0;
set echo off;
set feedback off;
set verify off;
set heading off;
set sqlprompt '';
set trimspool on;
set headsep off;

spool C:\asd.tmp
SELECT PROCESSNAME FROM ACTIVEPROCESSLIST ORDER BY PROCESSID;
spool off;

但是"asd.tmp"的内容是:

SELECT PROCESSNAME FROM ACTIVEPROCESSLIST ORDER BY PROCESSID

它只打印查询文本,而不是结果。如何假脱机查询结果?

注意:我正在使用 "sqldeveloper-4.0.3.16.84-x64" 并且它以管理员身份运行。上面给出的设置属性也可能是无意义的。我已经尝试了它们的一些组合并在没有设置的情况下仅执行假脱机命令。

我可以在 C++ 中执行的任何其他解决方案也适合我。

您可以使用命令 line/sqlplus。尝试将您的脚本保存为文件,然后在命令行中:

    sqlplus -s [username]/[password]@[sid] @file_path > output.txt

that link 中有另一种方法。我推荐它。它的工作速度不如假脱机解决方案,但至少在我的项目中有效。

替代方法存在问题,但 中的答案工作正常。我现在正在用。