多个txt导入oracle数据库中,将多个txt文件导入到ORACLE
iamlaosong文
将文本文件导入到数据库,如果不需要对文件进行处理,用sqlldr导入不仅方便,而且速度快。下面这个导入脚本,通过循环生成每个文本文件导入的控制文件,其中X'09'表示分隔符是TAB符,然后再调用sqlldr命令进行导入。
#import datafile that unzip by timing job: jsunzip.sh
#eidt by iamlaosong 20170926
#usage: ./jsimp.sh 20170101 BCF
# $1=OPDATE $2=SYF|BCF
BAKDIR=/home/oracle/ems_suan
CTLFILE=control.ctl
for tp in CK HK JK LY TD ZY
do
tbname=EMSAPP_JS_${tp}_$2_TEST
txtfile="${BAKDIR}/$1/$1_340000_1_${tp}_$2.txt"
# process txtfile
echo "${txtfile} --> ${tbname}"
if [ -f ${txtfile} ]; then
# generate control file
echo load data>${CTLFILE}
echo infile "'${txtfile}'">>${CTLFILE}
echo append into table $tbname>>${CTLFILE}
echo fields terminated by "X'09'">>${CTLFILE}
# echo optionally enclosed by "'\"'">>${CTLFILE}
if [ X"${tp}" == X"CK" ] || [ X"${tp}" == X"JK" ]; then
echo "(JSRQ Date 'YYYYMMDD',ZBTM,YJTM,YJZLBH,YJZLMC,ZBZL,ZBZLMC,JDS,JSSX,ZLSX,JIFEIZL,JIHEZL,CLJSFDM,CLJSF,CLJDSDM,CLJDS,CLJXS,CLJ,CLJGS,SJJSFDM,SJJSF,SJJDSDM,SJJDS,SJJXSDM,SJJXS,SJJDM,SJJ,SJJGS,YCXX,FEILI,FEIYONG,MARK)">>${CTLFILE}
elif [ X"${tp}" == X"HK" ] || [ X"${tp}" == X"LY" ]; then
echo "(JSRQ Date 'YYYYMMDD',YLDM,YLMC,LDLSH,YLJB,YLZL,FCZDM,FCZ,JSZDM,JSZ,YJJDM,YJJ,JDJDM,JDJ,HBBH,LICHENG,PYJSFDM,PYJSF,PYJDSDM,PYJDS,PYJXSDM,PYJXS,PYJDM,PYJ,PYJGS,MARK)">>${CTLFILE}
elif [ X"${tp}" == X"TD" ]; then
echo "(JSRQ Date 'YYYYMMDD',PYDQ,SFTT,TDJSFDM,TDJSF,TDJDSDM,TDJDS,TDJXSDM,TDJXS,TDJDM,TDJ,TDJGS,SZFEILI,XZFEILI,MARK)">>${CTLFILE}
elif [ X"${tp}" == X"ZY" ]; then
echo "(JSRQ Date 'YYYYMMDD',CLJXSDM,CLJDM,MARK)">>${CTLFILE}
fi
# import data
sqlldr userid=emssxjk/emssxjk control=control.ctl skip=1
cat control.log >> impsuan.log
# read -p "txt file: press enter to continue..." var
fi
done
shell脚本中逻辑或的判断除了代码中的写法外,还可以采用-o的方法,即:
if [ X"${tp}" == X"CK" -o X"${tp}" == X"JK" ]; then
判断字符串中加上一个X是防止变量tp为空时出现语法错误,本例中tp是循环变量,不会出现空值,但这种写法比较好,所以保留着。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
多个txt导入oracle数据库中,将多个txt文件导入到ORACLE相关推荐
- 如何将excel表导入oracle数据库,如何将EXCEL表导入ORACLE数据库中?【转】
来源:https://zhidao.baidu.com/question/383828330.html?qbl=relate_question_2&word=excel%20%B1%ED%CA ...
- Oracle表里的照片怎么导出来,如何导出oracle数据库中某张表到excel_oracle数据库表格导出到excel...
如何将oracle数据库表字段导成excel表格 这个你只要用ADO连oracle并获取记录集,根据你用的编程语言打开EXCEL,然后操作EXCEL对象的工作表就可以了.以VB为例: 1.在工程中引用 ...
- 将某个目录上的Excel表,导入到数据库中.sql
--将某个目录上的Excel表,导入到数据库中 --将所有的Excel文件放到一个目录中,假设为c:\test\,然后用下面的方法来做 create table #t(fname varchar(26 ...
- oracle sql比较时间大小,Oracle数据库中日期时间的操作比较和加减
Oracle数据库中日期时间的操作比较和加减 Oracle关于时间/日期的操作 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7 ...
- oracle中md5算法,oracle数据库中存储过程使用MD5算法加密
一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...
- oracle中exist什么意思,oracle中not exists 是什么意思 , oracle数据库中exists的作用
导航:网站首页 > oracle中not exists 是什么意思 , oracle数据库中exists的作用 oracle中not exists 是什么意思 , oracle数据库中exist ...
- Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中
一 背景 现代工业产品不仅生产批量大,而且过程自动化程度高,这对于用户追溯产品设计与制造过程中产生的数据而言,无疑是个新的挑战.与此同时,制造商们对产品制造过程中产生的大量工艺数据也愈发重视,并不断寻 ...
- Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?
瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:6.0 文档用途 用于解决怎么在瀚高数据库中实现和Oracle数据库中st ...
- 导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中
2019独角兽企业重金招聘Python工程师标准>>> 说明: 1.Windows Oracle数据库 操作系统:Windows Server 2008 R2 IP地址:192.16 ...
最新文章
- 如果没有StyleGAN2,真以为初代就是巅峰了:英伟达人脸生成器高能进化,弥补重大缺陷...
- matlab 摄像头操作
- 自己动手实现一个MVVM库
- redis实践及思考
- windows 服务实现定时任务调度
- ipqc异常处理流程图_IPQC巡检流程.七大手法.八大原则.九大步骤
- android 动态获取全县_android 6.0之后动态获取权限
- 4.2 js没有块级作用域
- Java Web学习总结(6)Cookie/Session
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_06-CMS需求分析-静态门户工程搭建...
- 三种方式创建bean对象在springIOC容器中初始化、销毁阶段要调用的自定义方法
- 【计算机网络】【硬件】交换机芯片介绍
- python web全栈工程师招聘_【笔记】Web全栈工程师的自我修养(上)
- spring注释原理
- 做问卷调查最基本的注意事项
- Hibernate中枚举Enum类型的映射策略
- 给予Java初学者的学习路线建议(转)
- 通过PS抠出透明的玻璃瓶
- python的十句名言_洗脑最厉害的10句名言名句
- Mininet系列实验(六):Mininet动态改变转发规则实验