采用SHELL,通过SQL LOAD导入一定格式的txt文件至数据库中
1。 准备工作,window中可直接通过sqlload直接导入文件,linux下,需要有sqlload的相关软件。
2。 SQL脚本(MID_DFDZ.ctl)
LOAD DATA
INTO TABLE MID_T0_TRANS
truncate
FIELDS TERMINATED BY '|'
(
stldate,
merno,
termno,
pan,
transamt,
refno,
termssn,
batno,
transdate,
workdate,
fee
)
3.shell脚本(getDFDZ.sh)
#!/bin/bash
if [ $# -lt 2 ]
then
echo "miss arguments"
exit -1
fi
#parameters
BATDATE=$1
SEQ_NO=$2
FILE_DFDZ=DFDZ_${BATDATE}
#FTPADDR=172.16.3.8
FTPADDR=144.131.254.186
FTPUSER=dc
FTPPSWD=dc2012
#home/liushui/
LOCAL_PATH="/100600/xqfdzwj/dfdz"
#FTP_PATH="/weblogic/100600/xqfdzwj/dfdznew/"
FTP_PATH="/dc/jy/dfdz/"
DFDZPATH=/dc/jy/dfdz
DFDZFILE=$DFDZPATH/"DFDZ_"$BATDATE.txt
LOCFILE=/dc/jy/ctl
ftp -in $FTPADDR << !
user $FTPUSER $FTPPSWD
bin
lcd $FTP_PATH
cd $LOCAL_PATH
echo pwd
get $FILE_DFDZ
bye
!
DBUSER=dc
DBPWD=dc_2015
DBNAME=dcdb
DFDZCTLFILE=$LOCFILE/MID_DFDZ.ctl
DFDZBADFILE=$LOCFILE/${BATDATE}_dfdz.bad
DFDZLOGFILE=$LOCFILE/${BATDATE}_dfdz.log
sqlplus -s ${DBUSER}/${DBPWD}@${DBNAME}<<!
ALTER TABLE TB_MAINTENANCE nologging
!
sqlldr userid=${DBUSER}/${DBPWD}@${DBNAME} control=$DFDZCTLFILE data=$DFDZFILE log=$DFDZLOGFILE bad=$DFDZBADFILE errors=1000000 rows=10000
RESULT=$?
if [ $RESULT -ne 0 ]
then
SetCmdRslt $SEQ_NO 3
exit -1
fi
RESULT=$?
if [ $RESULT -ne 0 ]
then
exit -1
fi
exit 0
4。 txt格式文件(T0_H_20151009.txt)
20151009|898340150399030|01086952|6214855491055386|1300.00|000789608053|000308|000001|133904|20151009|0.65
20151009|898320559990126|55447203|6225768706558846|4085.00|000789614773|001363|000001|134011|20151009|0.00
20151009|898620950130467|942E0166|6259654270166308|7930.00|000789615305|000218|000001|134011|20151009|3.97
20151009|898654059982123|65412446|6217858300020175452|42097.00|000789614807|000069|000001|134013|20151009|21.05
20151009|898430153980696|21183401|6222060012065499|97555.00|000789615795|000102|000001|134014|20151009|48.78
20151009|898210245112423|15061518|4062522603299967|59900.00|000789615371|000833|000001|134016|20151009|29.95
20151009|898411459982063|41145254|4512893437225106|16000.00|000789615837|000121|000003|134017|20151009|16.00
20151009|898532550394078|TF407801|4581242413584282|22000.00|000789614459|000361|000001|134020|20151009|11.00
采用SHELL,通过SQL LOAD导入一定格式的txt文件至数据库中的更多相关文章
- SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)
1/首先建立数据表 CREATE TABLE BasicMsg( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位地 ...
- C#读取固定文本格式的txt文件
C#读取固定文本格式的txt文件 一个简单的C#读取txt文档的程序,文档中用固定的格式存放着实例数据. //判断关键字在文档中是否存在 ] == "设备ID:107157061" ...
- 把ANSI格式的TXT文件批量转换成UTF-8文件类型
把ANSI格式的TXT文件批量转换成UTF-8文件类型 Posted on 2010-08-05 10:38 moss_tan_jun 阅读(3635) 评论(0) 编辑 收藏 #region 把AN ...
- SQL Server导入数据报错"无法在只读列“Id”中插入数据"
使用sql server 导入数据报错:无法在只读列'id'中插入数据.如下图所示: 查找出现该问题的原因是表中id为自动增长的标识列,需要在[编辑映射]中勾选"启用标识插入": ...
- load data导txt文件进mysql中的数据
1.实验内容: 利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中 2.实验过程: 首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows ...
- SQL语言(二) java怎样连接操作数据库中的数据
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····
1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...
- sql 存储过程导出指定数据到.txt文件(定时)
需求:每天生成一份txt文件数据,供第三方通过http方式调用 方法: 1.新建存储过程: USE [LocojoyMicroMessage] GO /****** Object: StoredPro ...
- Beats:使用 Filebeat 导入 JSON 格式的日志文件
转载自:https://blog.csdn.net/UbuntuTouch/article/details/108504014 在今天的文章中,我来用另外的一种方式来展示如何导入一个 JSON 格式的 ...
随机推荐
- CUBRID学习笔记 35 net驱动错误码和信息 cubrid教程示例
DO.NET Error Code Number Error Code Error Message Note 0 ER_NO_ERROR "No Error" 1 ER_NOT ...
- HDU 3065 病毒侵袭持续中
HDU 3065 病毒侵袭持续中 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- FTP常用故障代码注解
FTP错误列表 出处:http://bbs.enet.com.cn/UserControl?act=13&threadID 作者: |秒杀』| 详细的FTP错误列表 Restart marke ...
- http1.1和http1.0区别
http1.1和服务器建立连接可以获得多个资源 http1.0和服务器建立连接可以获取一个值
- [转载] 一致性问题和Raft一致性算法
原文: http://daizuozhuo.github.io/consensus-algorithm/ raft 协议确实比 paxos 协议好懂太多了. 一致性问题 一致性算法是用来解决一致性问题 ...
- mysql 1030 Got error 28 from storage engine
mysql 1030 Got error 28 from storage engine 错误原因:磁盘临时空间不够. 解决办法:df -h 查看设备存储的使用情况 du -h --max-depth= ...
- TortoiseSvn
TortoiseSVN 是svn版本控制系统的一个免费开源客户端,它是svn版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windows Explorer,使用 ...
- D3.js 交互式操作
与图表的交互,指在图形元素上设置一个或多个监听器,当事件发生时,做出相应的反应. 一.什么是交互 交互,指的是用户输入了某种指令,程序接受到指令之后必须做出某种响应.对可视化图表来说,交互能使图表更加 ...
- Android控件之CheckBox(复选框控件)
一.有两种状态: 选中状态(true).未选中状态(false) 二.属性 android:id = "@+id/checkbox" android:layout_width=&q ...
- android下调用C,JNI调用
1.eclipse中声明调用的C函数 com.example.test.MainActivity public native long RucMyfunction(int w,int h,int[] ...