我有一个我在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脚本?
答案 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提示符下执行该操作即可。