我在我的cshell脚本sqlplus $ORA_UID/$ORA_PSWD @${SQL}test.sql ${DATA}${ext1}
中这样做试图从test.sql脚本获取输出..在我的sql脚本中我将输出转储到spool &1
..但是当我运行我的脚本时我的文件是空白的我没有从数据库中得到任何东西..有人可以说出这个错误吗
答案 0 :(得分:1)
通常,将您的用户标识和密码显示在进程列表中并不是一个好主意,就像现在一样。大多数情况下,当sql脚本不能产生预期的输出时,这是因为缺少SQL标记的结尾。默认情况下,SQL的结尾是&#39 ;;'读取SQL标记的结尾实际上启动了SQL语句。 首先尝试使用反馈的脚本并检查假脱机文件中的错误消息。 假脱机文件位置是否正常?
sqlplus /nolog <<eof
connect $ORA_UID/$ORA_PSWD
@${SQL}test.sql ${DATA}${ext1}
eof
此结构可防止在进程列表中显示凭据。
在sqlscript中可以是
select * from dual;
或
select * from dual
/
但每个SQL语句都必须有一个SQL标记结束。