从假脱机文件中删除sql

时间:2013-08-14 17:13:40

标签: sqlplus ksh spool

我有一个我在shell中运行的SQL脚本。问题是我无法摆脱假脱机文件中的SQL。

SQL文件:

set termout off
set echo off
set pagesize 0
set linesize 18
set heading off
set feedback off
set tab off
set space 0
set verify off
set timing off
spool abc.dat
select
RPAD(abc,10,' '),
 LPAD(ssss,4,'0'),
LPAD(xxx,4,'0')
from  whtevertable where rownum < 10;
spool off
exit
EOF

abc.ksh

#!/bin/ksh
sqlplus /
 @datafile.sql

我是否正确调用了SQL脚本?

1 个答案:

答案 0 :(得分:0)

unable to get rid of the SQL in the spool file表示您无法避免在假脱机文件中出现不必要的标头和sql查询输出,或者您的控件无法从SQL脚本中出来(添加/在sql脚本的末尾而不是EOF,之前没有任何空格)?你能进一步解释一下吗?
也是为了从shell运行sql脚本,尝试这样做。

sqlplus "/ as sysdba" @datafile.sql
要么
sqlplus username/password@SID @datafile.sql

第二个选项@SID是可选的。您尝试sqlplus / @datafile.sql的方式将提示您输入用户名和密码。下次当您想要检查是否正在调用某些内容时,只需在shell提示符下执行该操作即可。