sqlplus 远程取数不能出现空行和不能关闭回显问题

第一次使用sqlplus命令编写linux脚本,远程取oracle数据库查询结果,新手遇到的问题

1.返回查询结果固定行数后出现空格,解决办法:

增加set termout off 或者set term off

2.使用sh test.sh的方式运行脚本 设置了set term off 和set termout off 仍然有回显:

解决方法:sqlplus -s 用户名/密码@IP端口/数据库名 <>log.txt

增加重定向>>log.txt 可以真正关闭shell回显

3.代码例子:

#!/bin/bash
#脚本名称:
#脚本描述:
#调用方式:crotab定时调用
#编写日期:
#备注信息:
#修改记录:

cd /home/app/
echo "-------------------------------------">>log.txt
echo "开始执行当日脚本">>log.txt
date '+%Y%m%H%M%S' >>log.txt
echo "执行结果">>log.txt
sqlplus -s 用户名/密码@IP端口/数据库名 <>log.txt
set term off
set termout off
set echo off
set newpage none
set pagesize 0
set transpool on 
set heading off
set feedback off
spool /home/app/result.txt
select * from user;
spool off
exit 0
EOF

你可能感兴趣的:(sql,sqlplus)