Oracle SQLPlus:如何显示sqlplus命令的输出而无需先发出spool off命令?

时间:2010-06-10 11:12:15

标签: sql oracle sqlplus

有没有办法显示sqlplus命令的输出而无需先发出spool off命令?

我正在将sqlplus会话的结果假脱机到文件,同时拖尾文件。原因是对于具有很长行的表格,格式更容易从文件中查看。问题是每次在sqlplus中运行命令时都要看输出我必须发出假脱机命令。

我可以配置sqlplus,以便在我发出假脱机命令后,所有输出都可以直接在文件上查看。

(格式化在屏幕上显示行的方式不是一种选择。)

感谢

5 个答案:

答案 0 :(得分:2)

SPOOL实际上用于创建SQL * Plus输出文件,无论出于何种目的:记录,输入到另一个进程等。没有工具可以查看其输出。

有许多方法可以解决这个特定问题,但最简单的方法是使用包含数据浏览器的IDE,从而避免了拖尾文件的需要。市场上有一个数字,包括Quest's TOADAllround Automation's PL/SQL Developer,但如果您不想支付许可费,那么您应该查看Oracle's own (free) SQL Developer

答案 1 :(得分:1)

如果您的问题是无法打开输出文件(因为假脱机进程已锁定),请尝试将文件输出复制到另一个文件并打开该文件。

答案 2 :(得分:1)

因为听起来你真正的问题是在SQLPlus中输出格式化 - 你可以使你的SQLPlus窗口更宽并且设置LINESIZE,以便在SQLPlus中输出看起来更好吗?那么你可能根本不需要假脱机。

答案 3 :(得分:1)

如果要假脱机多个语句的结果,可以关闭假脱机,然后在每个语句之间重新打开。重新打开假脱机时,添加append关键字,使其在同一个文件中继续,而不是覆盖它。

如果要在假脱机文件中查看一个查询的结果,可以将查询分解为多个返回特定数据范围的查询。这会更慢,但您可以循环假脱机以获得更快的反馈。

答案 4 :(得分:0)

我试图添加一条评论,但由于某种原因它没有保存,所以生病尝试“回答你的问题”选项:)

我确实使用SQLDeveloper,但有些情况下我必须使用sqlplus,其中SQLDeveloper不可用,然后我坚持使用普通的旧sqlplus。

在其他情况下我会使用sqlplus而不是sqldeveloper,因为我需要花费1/2分钟才能找到我在sqlplus中寻找的内容而不是几分钟内使用SQLDeveloper,因为它需要花费很长时间来加载。

我已经检查了输出刷新之前所花费的时间,看起来它在一定数量的行之后将其刷新。有没有办法减少缓冲区,以便更快地冲洗?

打开文件没有问题,即使文件打开也没问题我看不到输出,除非我发出“spool off”命令或输出有几百行。我正在使用一个名为baretail(http://www.baretail.com)的免费程序来拖尾窗口上的假脱机文件。

由于

相关问题