我在我的cshell脚本sqlplus $ORA_UID/$ORA_PSWD @${SQL}test.sql ${DATA}${ext1}中执行此操作,试图从test.sql脚本中获取输出。在我的sql脚本中,我将输出转储到spool &1。但是当我运行我的脚本时,我的文件是空白的,我没有从数据库中得到任何东西。谁能说出这是怎么回事?
发布于 2011-03-25 04:27:10
通常,将您的用户it和密码显示在进程列表中并不是一个好主意,就像现在发生的那样。大多数情况下,当sql脚本不能产生预期的输出时,这是因为缺少SQL结束标记。默认情况下,SQL的结尾是';‘。读取SQL结尾标记实际上会启动SQL语句。首先尝试脚本并提供反馈,然后检查spoolfile中的错误消息。假脱机文件的位置是否正确?
sqlplus /nolog <<eof
connect $ORA_UID/$ORA_PSWD
@${SQL}test.sql ${DATA}${ext1}
eof此构造阻止在进程列表上显示凭据。
在sqlscript中可以是
select * from dual;或
select * from dual
/但是每条SQL语句都必须有一个SQL结束标记。
https://stackoverflow.com/questions/5422355
复制相似问题