【问题标题】:How to Generate Result from Script Files to Oracle Spool File如何从脚本文件生成结果到 Oracle 假脱机文件
【发布时间】:2018-12-19 11:34:11
【问题描述】:

我有一个脚本文件,其中包含 DDL 和 DML 的混合,它重建了我用于测试的数据库。脚本文件正在生成一些我需要跟踪的错误,因此我尝试使用 SQLPlus 将脚本的结果输出到假脱机文件,见下文:

spool "c:\DBDeploy\ALERTSTLOCAL_Version4x_Rebuild.spl";
@"c:\DBDeploy\ALERTSTLOCAL_Version4x_Rebuild.sql";
spool off;

不幸的是,尽管脚本文件没有生成假脱机文件(除了“假脱机关闭”语句),但还是被写入假脱机文件。谁能建议这里发生了什么。我确信我在过去的几年中使用过这种技术,它最令人困惑:-/

亲切的问候 保罗·J。

【问题讨论】:

  • 您正在运行的 .sql 文件中有什么内容?例如,它是否有自己的set 命令?显示(如果您愿意,可以将真实查询替换为虚拟查询)可能会显示一些有用的信息,就像显示您在启动假脱机之前所做的任何其他设置一样。

标签: oracle sqlplus oracle11gr2


【解决方案1】:

你需要一些调整

SET SERVEROUTPUT ON FORMAT WRAPPED
SET VERIFY OFF
SET FEEDBACK OFF
SET TERMOUT OFF

DBMS_OUTPUT.ENABLE(1000000);

spool "c:\DBDeploy\ALERTSTLOCAL_Version4x_Rebuild.spl";
@"c:\DBDeploy\ALERTSTLOCAL_Version4x_Rebuild.sql";
spool off;

SET TERMOUT ON
SET FEEDBACK ON
SET VERIFY ON

测试截图:

在 Windows 上

【讨论】:

  • 感谢您的反馈,不幸的是没有喜悦。 SQLPlus 无法识别语句 DBMS_OUTPUT.ENABLE(1000000);当我注释掉 dbms_output 行时,脚本运行,但除了 'spool off;' 之外仍然没有输出到指定的假脱机文件;
  • 我不确定你到目前为止尝试了什么,但对我来说它正在工作
  • 嗯...我直接从 SQLPlus 命令提示符运行命令。看起来您可能已经从脚本中运行了它们。会尝试一下,看看会发生什么。
  • 我的也是sqlplus。
  • 好的,不知道我做了什么,但现在一切正常。最后,我从 sqlplus cmd 提示符手动执行了 spool 命令,而不是调用脚本文件。考虑一下现在回答。感谢您的输入:-)
猜你喜欢
  • 2012-01-25
  • 1970-01-01
  • 2016-12-27
  • 2015-07-27
  • 2021-11-08
  • 1970-01-01
  • 2020-03-24
  • 2019-10-25
  • 2020-11-30
相关资源
最近更新 更多