我在我的 cshell 脚本中执行此操作,sqlplus $ORA_UID/$ORA_PSWD @${SQL}test.sql ${DATA}${ext1}
试图从 test.sql 脚本中获取输出。在我的 sql 脚本中,我将输出转储到spool &1
.. 但是当我运行我的脚本时,我的文件是空白的,我没有从数据库中得到任何东西。有人能说出这有什么问题吗
问问题
689 次
1 回答
1
通常,将您的用户名和密码显示在进程列表中并不是一个好主意,就像现在发生的那样。大多数情况下,sql 脚本没有产生预期的输出是因为缺少 SQL 标记的结尾。默认 SQL 的结尾是 ';' 读取 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 结束标记。
于 2011-03-24T20:27:09.737 回答