需求简介:编写shell从oracle数据库查询clob类型数据,并将数据逐条存入不同命名的.html文件,实现将数据库数据自动生成html文件
问题描述:1.sqlplus展示clob文件格式异常(中间会插入空格)
2.额外查询一个固定字段作为分隔符,发现分隔符出现在clob数据中间
3.使用awk获取数据时无法在awk内置函数中导入shell中的变量
解决方式:
问题一、二:
shell代码:
set pagesize 0;
set linesize 30000;
set heading off;
set feedback off;
set long 1024000;
set longchunksize 1020000;
解释:
在sqlplus -s ${USR} <<EOF 后
sql语句 前
设置linesize、long、longchunksize等 数值 数值需要尽量大
问题三:
shell代码:
iCount=1
while [[ ${iCount} -le 15 ]]
do
echo ${截取内容} | awk -F "分割符" '{print $i}' i=${iCount} >${日志名}
iCount=$((${iCount} + 1))
done
解释:
awk中想要调用shell定义的变量需要将赋值语句写在最后