1。 准备工作,window中可直接通过sqlload直接导入文件,linux下,需要有sqlload的相关软件。

2。 SQL脚本(MID_DFDZ.ctl)

  1. 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文件至数据库中的更多相关文章

  1. SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)

    1/首先建立数据表 CREATE TABLE BasicMsg( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位地 ...

  2. C#读取固定文本格式的txt文件

    C#读取固定文本格式的txt文件 一个简单的C#读取txt文档的程序,文档中用固定的格式存放着实例数据. //判断关键字在文档中是否存在 ] == "设备ID:107157061" ...

  3. 把ANSI格式的TXT文件批量转换成UTF-8文件类型

    把ANSI格式的TXT文件批量转换成UTF-8文件类型 Posted on 2010-08-05 10:38 moss_tan_jun 阅读(3635) 评论(0) 编辑 收藏 #region 把AN ...

  4. SQL Server导入数据报错"无法在只读列“Id”中插入数据"

    使用sql server 导入数据报错:无法在只读列'id'中插入数据.如下图所示: 查找出现该问题的原因是表中id为自动增长的标识列,需要在[编辑映射]中勾选"启用标识插入": ...

  5. load data导txt文件进mysql中的数据

    1.实验内容: 利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中 2.实验过程: 首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows ...

  6. SQL语言(二) java怎样连接操作数据库中的数据

    import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...

  7. 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····

    1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...

  8. sql 存储过程导出指定数据到.txt文件(定时)

    需求:每天生成一份txt文件数据,供第三方通过http方式调用 方法: 1.新建存储过程: USE [LocojoyMicroMessage] GO /****** Object: StoredPro ...

  9. Beats:使用 Filebeat 导入 JSON 格式的日志文件

    转载自:https://blog.csdn.net/UbuntuTouch/article/details/108504014 在今天的文章中,我来用另外的一种方式来展示如何导入一个 JSON 格式的 ...

随机推荐

  1. HDU 1711 Number Sequence(数列)

    HDU 1711 Number Sequence(数列) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...

  2. monkey基本命令参数详解示例

    Monkey基本命令参数 参数名 基本功能 举例 -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App).指定 包之后,Monkey将只允许系统启动指定的APP.如果不指定包 ...

  3. STORM_0002_在做好的zookeeper集群上搭建storm的开发环境

    参考文献http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.htm ...

  4. 2013 Multi-University Training Contest 2

    HDU-4611 Balls Rearrangement 题意:具体题意不大清楚,最后要处理一个这样的表达式:sum{ |i % a - i % b| },0 <= i < N 的取值很大 ...

  5. 使用otl,报错:mysql Commands out of sync; you can't run this command now

    1.代码如下: void TestCache(otl_connect& otlConn) { try { ] = {}; sprintf(sql,"call test1(1)&quo ...

  6. (六)ARM状态寄存器-PSR

    ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和1或2个状态寄存器是可以随时访问的.在特权模式 (privileged mode) 下, 对应的 ...

  7. C10K及C100K问题探讨 & 怎么应对大流量大并发

    首先开宗明义,离开业务单独讨论并发,都是扯淡. 就像 https://www.zhihu.com/question/20493166/answer/15998053 这里面说的 谈并发必然要谈业务,空 ...

  8. latex输入希腊字母

    \alpha产生字符α;\beta产生字符β:\gamma产生字符γ:\delta产生字符δ;\epsilon产生字符ε; \zeta产生字符ζ:\eta产生字符η;\theta产生字符9; \iot ...

  9. Winform_播放声音文件

    1.调用非托管的dll using System.Runtime.InteropServices;  //DllImport命名空间的引用 class test  //提示音 { [DllImport ...

  10. kafka常用操作命令

    1.启动Kafka,其中">>/dev/null"表示将日志信息输出到"黑洞",其中"2>&1"表示将错误信息和前 ...