Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL*Plus仅限假脱机数据并排除错误_Oracle_Sqlplus_Spool - Fatal编程技术网

Oracle SQL*Plus仅限假脱机数据并排除错误

Oracle SQL*Plus仅限假脱机数据并排除错误,oracle,sqlplus,spool,Oracle,Sqlplus,Spool,我正在使用.Bat文件来执行一个sql脚本,与此类似 SET HEAD OFF SET ECHO OFF WHENEVER SQLERROR EXIT 1; SPOOL D:\oracle\results.TXT SELECT name FROM employee where employee_number = 123; SPOOL OFF; EXIT; 如果查询运行,我将获得没有问题的结果,但是如果数据库关闭或发生导致oracle错误的事情,我将在文本文件中得到错误(我不想这样),我的

我正在使用.Bat文件来执行一个sql脚本,与此类似

SET HEAD OFF
SET ECHO OFF
WHENEVER SQLERROR EXIT 1;

SPOOL D:\oracle\results.TXT

SELECT name FROM employee where employee_number = 123;

SPOOL OFF;
EXIT;
如果查询运行,我将获得没有问题的结果,但是如果数据库关闭或发生导致oracle错误的事情,我将在文本文件中得到错误(我不想这样),我的问题是:

  • 如果只有查询在没有错误的情况下运行,是否有办法假脱机数据?如果有错误,是否有办法排除?或者至少如果有错误
  • 我可以在results.txt文件中写入特定文本而不是oracle错误吗

如果您使用的是Oracle,请标记该产品!您可以在
spool
之前执行一个虚拟
select 42 from dual
,如果数据库不可用,它将终止脚本。但是,如果数据库关闭或发生了某种导致oracle错误的事情,我将在文本文件中得到一个错误如果数据库关闭,您甚至如何通过SQL*Plus连接并执行查询?除非连接,否则无法执行spool。@jarlh我在使用oracle10g@a_horse_with_no_name这对我很有效,非常感谢。