Oracle SQL开发人员假脱机输出?

Oracle SQL开发人员假脱机输出?,oracle,oracle-sqldeveloper,Oracle,Oracle Sqldeveloper,我正在使用Oracle SQL Developer 2.1.1.64将查询结果假脱机到文本文件 下面是我正在运行的调用quesry和spool结果的程序 SET NEWPAGE 0 SET SPACE 0 SET PAGESIZE 0 SET FEEDBACK OFF SET HEADING OFF set verify off SET ECHO OFF spool c:\client\output_sql\t_1001_02_0522_.txt @c:\client\queries\t_100

我正在使用Oracle SQL Developer 2.1.1.64将查询结果假脱机到文本文件 下面是我正在运行的调用quesry和spool结果的程序

SET NEWPAGE 0
SET SPACE 0
SET PAGESIZE 0
SET FEEDBACK OFF
SET HEADING OFF
set verify off
SET ECHO OFF
spool c:\client\output_sql\t_1001_02_0522_.txt
@c:\client\queries\t_1001_02_query;
spool off
不幸的是,我越来越

@c:\client\querys\t\u 1001\u 02\u query

在我的输出文本文件的顶部,我只需要有结果。 我在网络上搜索了这一点,并尝试了各种方法,如: 抵销
设置termout off

您可以通过右键单击查询结果行(任意行)并选择导出,将查询结果导出到文本文件(或插入语句,甚至pdf)

使用SQLDeveloper3.0


有关最新版本的信息,请参阅,我发现如果我保存查询(spool\u script\u file.sql)并使用以下命令调用它

@c:\client\querys\spool\u script\u file.sql作为脚本(F5)

我现在的输出只是结果,上面没有命令


我在oracle论坛上找到了这个解决方案。

我试图复制从sqlplus获得的后台文件。 我发现了以下几点,希望能有所帮助:

创建sql脚本文件,即:

请注意echo和serveroutput

Test_Spool.SQL

Spool 'c:\temp\Test1.txt';
set echo on;
set serveroutput on;
declare
sqlresult varchar2(60);

begin
  select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') into sqlresult from dual;
  dbms_output.put_line('The date is ' || sqlresult);
end;

/

Spool off;
set serveroutput off;
set echo off;
从其他工作表运行脚本:

@TEST_Spool.SQL
来自Test1.txt的我的输出

set serveroutput on
declare
sqlresult varchar2(60);

begin
  select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') into sqlresult from dual;
  dbms_output.put_line('The date is ' || sqlresult);
end;
匿名块已完成

日期是2016-04-07 09:21:32


Spool of

另一种比我更简单的方法是在Windows7中使用SQL Developer 4

spool "path_to_file\\filename.txt"
query to execute
spool of
您必须将其作为脚本执行,因为如果不这样做,则不仅查询将保存在输出文件中 在使用Windows和SQL时,我在路径名中使用双字符“\”作为分隔符,
输出文件将显示查询和结果。

对于Oracle SQL Developer中的假脱机,以下是解决方案

启程

设置线号1500

设置colsep“|”

设置numformat 99999999999999

设置页面大小25000

假脱机E:\abc.txt

@E:\abc.sql

关闭

提示是:

  • 当我们从sql plus执行假脱机操作时,则需要整个查询

  • 当我们从oraclesqldeveloper获取spool时,需要查询的引用路径,如指定示例中所示


  • 如果您添加了
    SET term out OFF
    ,那么这里的内容应该在SQLPlus中运行。您可以选择使用它而不是SQL Developer吗?还要注意的是,当我这样做(在SQLPlus中)时,我通常从
    SET ECHO OFF
    开始,然后
    SET term OFF
    ,但我不知道这是否真的有区别。我没有SQLPlus。当我运行这些命令时,我会得到一个跳过的错误。谢谢。我知道,但是我想在没有手动导出的情况下得到相同的结果,因为我有100多个查询要运行。但是正如我所说的,我只需要结果,而不需要输出文件中的其他内容。