【问题标题】:Oracle SQLPlus: How to display the output of a sqlplus command without having to first issue the spool off command?Oracle SQLPlus:如何在不必先发出 spool off 命令的情况下显示 sqlplus 命令的输出?
【发布时间】:2010-06-10 11:12:15
【问题描述】:

有没有一种方法可以显示 sqlplus 命令的输出而无需先发出 spool off 命令?

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

我可以配置 sqlplus,以便在我发出 spool 命令后,所有输出都可以立即在文件中查看。

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

谢谢

【问题讨论】:

    标签: sql oracle sqlplus


    【解决方案1】:

    SPOOL 真正用于创建 SQL*Plus 输出文件,无论出于何种目的:记录、输入到另一个进程等。没有即时查看其输出的工具。

    有很多方法可以解决这个特定问题,但最简单的方法肯定是使用包含数据浏览器的 IDE,从而无需跟踪文件。市场上有很多号码,包括Quest's TOADAllround Automation's PL/SQL Developer,但如果你不想因为许可费而跳槽,那么你应该看看Oracle's own (free) SQL Developer

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          • 我做了,但输出大小比 sqlplus 允许的最大值宽。
          【解决方案5】:

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

          我确实使用 SQLDeveloper,但在某些情况下我必须使用 sqlplus,而 SQLDeveloper 不可用,然后我就被普通的旧 sqlplus 卡住了。

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

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

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

          谢谢

          【讨论】:

            猜你喜欢
            • 2016-06-14
            • 2019-11-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多