-1

我有一个在 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 脚本?

4

1 回答 1

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 提示符下执行即可。

于 2013-08-17T07:11:53.123 回答