个人博客

个人博客: https://www.crystalblog.xyz/

备用地址: https://wang-qz.gitee.io/crystal-blog/

1. 介绍

在工作中 , 很多场景都会涉及到db数据的导入导出, 为了不影响正常业务, 一般会选择在夜间交易访问量小的时候定时任务跑批进行数据的导入导出. 我们公司, 由于分为了不同区域的开发中心, 应用系统也比较多, 所以业务相互关联的各系统间的数据依赖, 我们是通过数据中台做数据中转的, 比如: A系统要做客户信息的操作但自己没有这部分信息, 客户信息主要是B系统在维护, 这时候A系统就需要用到B系统的数据.

方案就是B系统将客户信息数据资源发布到数据中台, 因为A系统向数据中台订阅了B系统的客户信息资源 , 数据中台会将客户信息资源转发到A系统服务器的指定目录, 最后A系统只需要开发shell脚本将资源文件中的数据导入本地数据库即可.

B系统需要A系统的业务数据也是一样的道理, A系统只需要将业务数据资源发布到数据中台,(A系统开发脚本将db数据导出为数据文件发送给数据中台), B系统订阅A系统的资源, 由数据中台做资源的转发.

下面主要是总结工作中用到的shell脚本如何实现db数据的导入和导出, 数据中台是一个企业级数据交换服务平台, 这里就不详细赘述了.

2. 导入数据到db2

将MY_CUSTOMER_INFO_[DATE].del文件数据导入MY_CUSTOMER_INFO表.

3. 导出db2数据

将MY_CUSTOMER_INFO表的数据导出为MY_CUSTOMER_INFO_[DATE].del文件.

导出数据也可以使用java程序先查询数据,然后通过IO流写文件.

4. 导入数据到mysql

将MY_CUSTOMER_INFO_[DATE].del文件数据导入MY_CUSTOMER_INFO表.

导入数据部分, 如果null数据想使用空字符串替换, 可以使用NULLIF函数判断后替换.

5. 导出mysql数据

将MY_CUSTOMER_INFO表的数据导出为MY_CUSTOMER_INFO_[DATE].del文件.

6. Java程序调用shell脚本

使用java.lang.Runtime类实现shell脚本的调用并执行.

7. 遇到的问题

(1) 上面Java程序调用并执行shell脚本, 需要注意服务器系统类型是Linux还是AIX系统, 不然传入的参数无法接收到.

(2) windows环境(\r\n)和linux环境(\r)的换行符不一样, 导致在windows系统编辑的shell脚本在Linux服务器上执行报错, 需要使用vim编辑器将\r\n替换为\r.

脚本格式设置, \r\n替换为\r.

:set ff=unix

脚本格式设置, \r替换为\r\n.

:set ff=dos

Shell脚本导入导出数据相关推荐

  1. db2 如何导出insert语句_MySQL 执行脚本/导入/导出数据

    执行脚本:mysql下如何执行sql脚本 一般当要执行的MySQL语句比较复杂的时候,我都会采用执行sql脚本的形式.比如我要创建一个包含近百个字段的一张数据表:在这张表中插入数据等等. 脚本案例: ...

  2. mysql shell可视化_shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中...

    shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...

  3. mysql命令导入导出数据_mysql命令行导入和导出数据

    MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...

  4. shell脚本批量导出MYSQL数据库日志/按照最近N天的形式导出二进制日志[连载之构建百万访问量电子商务网站]...

    shell脚本批量导出MYSQL数据库日志/自动本地导出MYSQL二进制日志,按天备份[连载之构建百万访问量电子商务网站] 出处:http://jimmyli.blog.51cto.com/我站在巨人 ...

  5. 如何在 MySQL / MariaDB 中导入导出数据,导入导出数据库文件、Excel、CSV

    文章目录 本教程将详细讲解 1. MySQL / MariaDB 数据库数据「导出」 2. MySQL / MariaDB 数据库数据「导入」 3. 使用「卡拉云」一键导入导出 MySQL / Mar ...

  6. 转载-SQL Server各种导入导出数据方式的比较

    注:本文转载自 http://blog.csdn.net/nokiaguy/article/details/4684822 当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新 ...

  7. SQL Server数据库导入导出数据方式比较

    在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验.净化和转换时,将会面临很大的挑战.幸好SQL Server为我们提供了强大.丰富的数据 ...

  8. python读写、导入导出数据操作(简)

    这里的读写文件,与导入导出数据不同,导入数据是直接连接csv或xlsx文件,将数据导入进来或导出保存出去. 这里读文件,是可迭代的,文件使用完毕后还需要关闭. 1. 读取操作 open() 可以读取c ...

  9. oracle可以导出的格式,Oracle导入导出数据的几种方式

    oracle导入导出数据 1.导出dmp格式文件 --备份某几张表 !!!! exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp table ...

最新文章

  1. CCNp笔记(EIGRP)
  2. nginx重点优化合集一
  3. 【调参实战】如何开始你的第一个深度学习调参任务?不妨从图像分类中的学习率入手。...
  4. VTK:图表之TreeToMutableDirectedGraph
  5. OpenCV运动去模糊滤波器
  6. 手机型号识别 手机PID UID 驱动识别 数据库包
  7. django通过ajax请求接口返回多条数据,并动态生成表格,请求表单后将表格数据并入库
  8. 送17届学弟学妹的礼物——学生包、学生优惠合集
  9. 《计算机网络(第7版)》-谢希仁
  10. 红米K30 4G手机图纸 主板元件位号图
  11. 《中国天气预报》城市编号一览表
  12. 2019年信息系统项目管理师考试时间
  13. SQLServer@@FETCH_STATUS含义
  14. html中pre与xmp标签的区别是什么
  15. Tomcat 环境变量
  16. 向量叉积与向量叉积的模的运算
  17. 廊坊通岭计算机学校校长,计算机科学与技术S021-S024班校友荣归母校为母校捐赠文化石...
  18. Vivi 专访欧阳默|Web3投资的机遇与挑战
  19. Qt断开信号与槽的方法,Qt信号的处理 (connect和disconnect和blockSignals的使用方法)
  20. Unity SKFramework框架(十九)、POI 兴趣点/信息点

热门文章

  1. CPU指令集是什么东西,以及指令集的架构有哪些(有哪些大类),以及具体的指令集都有哪些
  2. 干货 | 记一次跨域配置引发的思考
  3. Windows XP中如何自动终止Blackice防火墙(转)
  4. vijos 隐形的翅膀
  5. CreateProcess()接收程序的输出
  6. .net core基础入门
  7. 企业用什么留住人才??? .
  8. 上海市浙江商会领导一行走访闪马智能,交流企业发展新趋势
  9. 宝塔 开启xdebug_xdebug使用说明
  10. 详解删除链表的倒数第N个结点