2013-08-14 7 views
-1

У меня есть SQL-скрипт, который я запускаю в оболочке. Проблема в том, что я не могу избавиться от SQL в файле spool.удалить sql из файла spool

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

По unable to get rid of the SQL in the spool file вы имеете в виду, что вы не в состоянии избежать присутствия лишних заголовков и SQL вывода запроса в файл золотника или элемента управления не может выйти из сценария SQL (добавить / в конце сценария SQL вместо EOF, без пробела перед ним)? Не могли бы вы объяснить, пожалуйста.
Также, чтобы запустить скрипт sql из оболочки, попробуйте сделать это таким образом.

sqlplus "/ as sysdba" @datafile.sql
или
sqlplus username/[email protected] @datafile.sql

В втором варианте @SID является необязательным. Способ, которым вы пытаетесь sqlplus/@datafile.sql, будет запрашивать у вас имя пользователя и пароль. В следующий раз, когда вы хотите проверить, правильно ли вы звоните или нет, просто выполните это в командной строке.