事情的起因很简单,需要将股票收盘行情导入数据库,因为科创板交易时间延长,需要将原有的程序进行改造,众所周知,程序员永远是不够用的,只能自己解决这个问题。
方式是用定时器调用shell脚本。
上交所的mktdt00.txt使用“|”作为分隔符。
核心代码是将mktdt00.txt转成程insert into  table  values( ) 然后有sqlplus导入数据库。
代码一:

#!/bin/bash
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf

IFS=$'\n'
for entry in $(cat $dbfpath/mktdt00.txt)
do
    IFS='|'
    arr=($entry)

if  [   ${arr[0]} == 'MD001' ];   then ##  index

a="   INSERT INTO mktdt00 VALUES(  ""'"
        a=$a"${arr[1]}""','""${arr[2]}""',"
        a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"
        a=$a",""${arr[7]}"",""${arr[8]}"",""${arr[9]}"",0,0,""${arr[3]}"
        a=$a",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0  )  ;  "
        echo $a>>$dbfpath/mktdt00.sql
elif [   ${arr[0]} == 'MD002' ] || [ ${arr[0]} == 'MD003' ]   || [   ${arr[0]} == 'MD004' ] ;
then     
       ## stock bond  fund
        a=" INSERT   INTO mktdt00 VALUES(  ""'"
        a=$a"${arr[1]}""','""${arr[2]}""',"
        a=$a"${arr[5]}"",""${arr[6]}"",""${arr[4]}"",""${arr[7]}"",""${arr[8]}"
        a=$a",""${arr[10]}"",""${arr[11]}"",""${arr[13]}"",""${arr[3]}"",0"
        a=$a",""${arr[12]}"",""${arr[15]}"",""${arr[16]}"",""${arr[19]}"",""${arr[20]}"
        a=$a",""${arr[14]}"",""${arr[17]}"",""${arr[18]}"",""${arr[21]}"",""${arr[22]}"
        a=$a",""${arr[23]}"",""${arr[24]}"",""${arr[27]}"",""${arr[28]}"",""${arr[25]}"
        a=$a",""${arr[26]}"",""${arr[29]}"",""${arr[30]}"" );"
        echo $a>>$dbfpath/mktdt00.sql
     else
        echo "success!"
fi
done

echo "commit;">>$dbfpath/mktdt00.sql

'MD001' 是指数格式和 其他的格式有所不同。

代码二

#!/bin/sh

. ~oracle/.bash_profile

user='数据库用户名'
pwd='数据库密码'
dbfpath=/home/oracle/dbf_insert/stockkcb/dbf

cd $dbfpath
rm -rf *

wget  http://内网ipip/mktdt00.txt  #下载局域网中的交易所行情文件mktdt00.txt

sh  $dbfpath/readkcb.sh #执行上一下txt转sql 脚本

if [ -s  mktdt00.sql   ];then

sqlplus  $user/$pwd  <<EOF  >/tmp/imp.log
      truncate table mktdt00;
      @$dbfpath/mktdt00.sql
      quit
EOF

转载于:https://www.cnblogs.com/ianxu/p/11176606.html

上交所行情文件导入数据库相关推荐

  1. excel 文件导入数据库(java)

    excel文件导入数据库! 先上传,后解析,再对sql建表,插入数据,导入完成,删除上传的临时表! 谢谢指点! 1.导入jar jxl.jar poi-poi-2.5.1jar poi-contrib ...

  2. CSV文件导入数据库后中文乱码

    CSV文件导入数据库后中文乱码 背景:我用的是Dbeaver连接的clickhouse数据库,向现场的同事要了数据(CSV格式文件),导入后都是途中这样的,根本用不了.在网上找到同样的情况的文章,记录 ...

  3. json大文件导入数据库

    json文件导入数据库 使用Navicat的客户端工具也可以实现json文件导入数据库,但是数据量大了之后,字段的值过于冗长可能会导致数据的截取,是的数据导入不是完整的. 所以另辟蹊径使用其他方法 创 ...

  4. java代码将csv格式的文件导入数据库

    java代码将csv格式的文件导入数据库 最近接到了一个需求,将csv文件的内容通过java进行入库操作,在此记录一下整个完整的代码 主要逻辑 读取csv的每一个数据,对数据对应的对象赋值,将对象放入 ...

  5. ITPUB老帖子:小招技巧3: EXCEL文件导入数据库

    小招技巧3: EXCEL文件导入数据库 (发贴日期:2003.03.11) EXCEL文件导入数据库的简便方法 嗨! 这个问题你可能有很多好方法. 不过多学一种不是坏事. 你用的方法可能是: 1. 存 ...

  6. 将json文件导入数据库

    将json文件导入数据库 作为小白编写该文档可能有很多地方需要去改进 这里json文件内容格式为 [ { [ ] } ] 使用alibab的fastjson中JsonReader进行解析 大致流程如下 ...

  7. php如何导入大文件数据库,PHP读取CSV大文件导入数据库的示例

    文章详细介绍了csv文件在php中快速导入到mysql数据库中的例子,虽然从最简单的几百MB的到最后使用插件实现几个GB数据导入中间有一些嗑碰了,但结果还是好的. 对于数百万条数据量的CSV文件,文件 ...

  8. ixf文件 mysql导入,控制 PC/IXF 文件导入数据库的一般规则

    IMPORT 实用程序仅接受 PC/IXF 格式文件 (IXFHID = 'IXF').不能导入其他格式的 IXF 文件. IMPORT 实用程序拒绝超过 1024 列的 PC/IXF 文件. 导出至 ...

  9. 使用txt文件导入数据库内容

    用下面语句导入数据库表内容 LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE mytable; 其中mytable是表名称 " ...

最新文章

  1. cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)
  2. 【普及组模拟赛】游戏
  3. mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节
  4. 在 .NET 应用中使用 ANTLR
  5. php表白页面,2020情人节表白页面(代码分享)
  6. npm 下载 依赖包时出错的解决方式
  7. P3399 丝绸之路(线性二维dp)
  8. python之requests模块
  9. 【学习笔记】子集生成的方法
  10. linux管理进程的数据结构,Linux 进程运行的各项指标的监测和一些管理命令的应用...
  11. 概率论与数理统计思维导图_“我更强调统计学的思维”——专访北京师范大学未来教育学院李勇教授...
  12. python变量定义模糊_python基础-1(网络瓶颈效应,执行python两种方式,变量,常量,python变量内存管理,变量的三个特征,花式赋值,注释 )...
  13. 滑雪总结 --- 双板滑雪
  14. js 主动触发 a 标签 href 链接写法,
  15. 5G系统关键无线技术介绍
  16. 使用Excel的VBA简单语句处理循环、判断等操作
  17. 全球与中国强化采油表面活性剂市场深度研究分析报告
  18. 如何使用爬虫分析Python岗位招聘情况
  19. RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)
  20. 【GDPMS】项目管理实战公益培训第十二期

热门文章

  1. 【7】jQuery学习——入门jQuery选择器之过滤选择器-可见性过滤选择器
  2. oracle转mysql总结经验,oracle转mysql总结(转)
  3. mysql数据库索引页号为什么从3开始_MySQL数据库快问快答
  4. java空格键_Java KeyPressed-如果其他键也太旧,则无法检测是否按下了空格键
  5. python画画bup_Python中的高效Vector / Point类
  6. PL/SQL Developer跑在Oracle 64位数据库上初始化错误
  7. requests 分类多级页面_scrapy框架爬取多级页面
  8. 《MySQL——索引笔记》
  9. 【C++grammar】结构化绑定
  10. LeetCode 572. 另一个树的子树 思考分析