Oracle 将sqlplus输出写入文件

Oracle 将sqlplus输出写入文件,oracle,Oracle,使用sqlplus.exe,我正在寻找一种将sqlplus输出写入文件的方法 无论如何,我都可以这样做,目前输出仅写入控制台。您可以使用SPOOL命令将信息写入文件 在执行任何命令类型之前,请执行以下操作: SPOOL <output file path> 还请注意,SPOOL输出由几个SQLPlus设置驱动: 设置线宽nn-最大线宽;如果输出更长,它将换行以显示每个结果行的内容 SET TRIMSPOOL OFF | ON-如果设置OFF(默认设置),则每个输出行都将填充为行大

使用sqlplus.exe,我正在寻找一种将sqlplus输出写入文件的方法


无论如何,我都可以这样做,目前输出仅写入控制台。

您可以使用SPOOL命令将信息写入文件

在执行任何命令类型之前,请执行以下操作:

SPOOL <output file path>

还请注意,
SPOOL
输出由几个SQLPlus设置驱动:

  • 设置线宽nn
    -最大线宽;如果输出更长,它将换行以显示每个结果行的内容

  • SET TRIMSPOOL OFF | ON
    -如果设置
    OFF
    (默认设置),则每个输出行都将填充为
    行大小
    。如果将
    设置为ON
    ,则将修剪每个输出行

  • 设置页面大小nn
    -每次重复页眉时要输出的行数。如果设置为零,则不输出标题;只是细节


这些都是大的,但是如果你想要的输出没有所有的SqlPlus喋喋不休,还有一些其他的要考虑。

< P>确保你有权访问你想要破坏的目录。我试图假脱机到root,但它没有创建文件(例如
c:\test.txt
)。您可以通过发出
spool
命令来检查后台处理的位置。

只需保存我自己从所有这一切中扣除的部分(用于使用sqlplus在客户端保存DBMS\u输出):

  • 无论我使用Toad/with polling还是sqlplus,对于偶尔使用dbms_output.put_行命令的长时间运行的脚本,我将在脚本执行结束时获得输出
  • 打开服务器输出;和dbms_output.enable();应该出现在脚本中
  • 保存输出SPOOL命令不足以将DBMS_输出行打印到文件中-必须使用通常的>windows CMD重定向。在调用sqlplus后,可以将密码等提供给空提示符。此外,还应将“/”指令和“exit;”命令放在脚本内部,或以交互方式作为上面的密码提供(除非在调用sqlplus时指定)

对答案中给出的
SPOOL
命令进行了描述。最后一个指针只是回显使用SPOOL命令设置的内容。它没有给出我想要的完整的绝对路径?我尝试在我的linuxbox中提供/tmp位置。但我遇到了错误:“遇到了符号“SPOOL”。有什么解决办法吗?
SPOOL OFF