从假脱机文件中删除 sql

Posted

技术标签:

【中文标题】从假脱机文件中删除 sql【英文标题】:remove sql from spool file 【发布时间】:2013-08-14 17:13:40 【问题描述】:

我有一个在 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】:

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

【讨论】:

以上是关于从假脱机文件中删除 sql的主要内容,如果未能解决你的问题,请参考以下文章

08.SQL Server 基本操作分离(脱机)附加(联机)

SQL 加 |假脱机文件中的列调整

Oracle SQL 自动并行假脱机

如何在 sql*plus 中修复我的假脱机 csv 文件中的格式

假脱机文件越来越重复

如何使用 SQL Developer 假脱机到 CSV 文件?