需求:A服务器会定时生成一个CSV文件,B服务器从A服务器下载下来,并存入到B服务器的oracle数据库的某表中。

分析:1.数据同步上传和下载可以使用ftp的方式,当然也有其他方式。

2.数据存到本地后可以使用oracle自带的sqloader来加载文件到数据库中。

也可以选择dblink,网上说效率没这个高。未亲测。

实施:

1.写一个sqlloader的控制文件,取名为res_count.ctl

OPTIONS (skip=1,rows=128)

load data

infile'/wjjk_oracle/export_files/fm_to_datang_files/res_count.txt' --本来这里是res_count.csv文件,但是不知道是不是对方提供的csv编码有问题,导进去为空,就转成了制表符的txt。网上说该有asc||码。truncate

INTO TABLE res_count

fields terminated by X'09'--X'09'表示制表符,这样也行'  '

trailing nullcols ( emsname, devicename, kind, num )

2.写一个shell脚本,取名为:res_count.sh.做数据同步,并执行sqlloder的控制文件。

#!/bin/shexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1/export LANG=en_US.utf8

HOST=11.11.11.11USER=net

PASS=OSUsernet_

cd/wjjk_oracle/export_files/fm_to_datang_filesecho "Starting to sftp..."#nohup sqlplus rmssc/rms4sc @/wjjk_oracle/export_script/fm_to_datang/res_count_delete.sql

curdate="`date +%Y%m%d`"filename="$curdate"".csv"lftp-u ${USER},${PASS} sftp://${HOST} <

cd /backup/statistics

mget $filename

bye

EOFmv${filename} res_count.csvecho 'start sqlldr'

/u01/app/oracle/product/11.2.0/db_1/bin/sqlldr user/password@rms_51 control='/wjjk_oracle/export_script/fm_to_datang/res_count.ctl'mv res_count.csv ${filename}

这里大概逻辑就是设置oracle的目录,编码,设置几个变量为你要连接的服务器的账号、密码、地址。

对方规定每天会生产20180321.csv这种格式的文件。我们去取回来。最后执行sqlldr进行入库操作。

3.最后创建一个定时任务,crontab这个命令,可以网上自己查用法。

00 22 * * * /wjjk_oracle/export_script/fm_to_datang/res_count.sh >> /wjjk_oracle/export_script/fm_to_datang/res_count.log 2>&1 &

没记错的话,每天0点22就会定时执行了。

sftp服务器同步文件到本地,服务器之间通过sftp的方式同步文件,并入库到本地数据的表中...相关推荐

  1. mysql导入数据load data infile用法(将txt文件中的数据导入表中)

    我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data  [low_priority] [local] infile ...

  2. load导入txt文件到mysql_mysql导入数据load data infile用法(将txt文件中的数据导入表中)...

    我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data  [low_priority] [local] infile ...

  3. 创建商品表中插入一条数据/图书表中新增一条记录/学生表中,要求查询姓张,并且年龄在18到25岁之间的学生/查询article文章表

    在以上创建的商品表中插入一条数据:名称为"学生书包".价格18.91.库存101.描述为空 在图书表中新增一条记录:Java核心技术.作者"Cay S. Horstman ...

  4. 远程VPS和本地电脑之间无法粘贴复制及分享文件

    问题原因:大概率是因为rdpclip.exe 进程未正常运行,或桌面远程未给予足够的权限. 操作步骤: 1.在本地电脑工具栏右键打开任务管理器,查看有无rdpclip.exe进程,通常,只要存在该进程 ...

  5. ffice 2016 文件运行excel的数据透视表中的数据切片器的时候自动关闭

    问题描述:在运行数据切片器的时候,只要一点击筛选功能,excel就会自动关闭.并重新启动. 问题分析:通过分析能够进行数据切片选择和不能进行切片的两个电脑的excel的版本,发现.两个版本信息不同. ...

  6. Android从本地服务器获取Mp3实现边下边播(JavaEE+Tomcat+SQLServer)

    项目实例:https://download.csdn.net/download/qq_37437983/10484636 实现环境: 1)Lenovo G50-80 Ubuntu16.04笔记本 2) ...

  7. u3d文件上传至服务器,unity 上传图片到云服务器

    unity 上传图片到云服务器 内容精选 换一换 用户可以采用加密方式创建私有镜像,确保镜像数据安全性.用户已启用数据加密服务.加密镜像不能共享给其他用户.加密镜像不能发布到应用超市.如果云服务器的系 ...

  8. 实验九 使用异步方式实现文件读\写

    实验九 使用异步方式实现文件读\写 一.实验目的 了解Windows系统异步文件读/写的概念. 熟悉Windows系统文件读/写相关的API. 掌握采用异步方式实现文件读/写的相关参数设置. 二.实验 ...

  9. 计算机二级C语言打开哪个文件,全国计算机等级考试二级C语言12.2文件的打开与关闭...

    12.2 文件的打开与关闭 对文件进行读.写操作时,首先要解决的问题是如何把程序中读写的文件与磁盘上的实际数据文件联系起来,接着就应该"打开"文件,在使用结束之后关闭文件. 考点2 ...

最新文章

  1. sketch制作Android动画,如何直接用Sketch制作动画|Sketch插件|
  2. cc2530学习笔记
  3. 话术php源码,恋爱话术宝典织梦源码
  4. 详解 Java NIO
  5. 应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的(转载)...
  6. 剑指offer面试题[32]:从1到n整数中1出现的次数
  7. 行人重识别论文阅读12-Bi-directional Exponential Angular Triplet Loss for RGB-Infrared Person ReID
  8. 【poj3311】Hie with the Pie
  9. 什么是数据结构?什么是算法?怎么学习数据结构与算法?
  10. mysql 用户名 长度_一个 MySQL 用户名长度的坑
  11. 主分区、扩展分区、逻辑分区
  12. php qq远程桌面共享,新手学堂:用VNC实现远程桌面共享的方法
  13. 仿真或极简,用户界面的美丽与哀愁
  14. 电影《面包店的女孩+苏姗娜的故事》观后感
  15. VUE-Vuetify框架
  16. Direct3D 12 尝鲜(二): Fence
  17. python分钟转化为小时_Python将分钟转为小时和分钟
  18. Flutter之声网Agora实现音频体验记录
  19. 【POJ3093】Margaritas on the River Walk【01背包变种】
  20. 鸿蒙电脑操作系统最新消息,今日大事件:鸿蒙操作系统6月2日见苹果 WWDC 将于 6 月 8 日举行...

热门文章

  1. 常用命令——ls tree 文件类型 目录结构 netstat
  2. 快速生成树(RSTP)和传统生成树(STP)的区别(华为数通HCIE认证面试真题)...
  3. 浅谈移动Web开发:深入概念
  4. RHEL7.0 DNS服务配置
  5. REST框架的问题--备忘
  6. spring对JDBC的支持
  7. C#强化系列文章五:动态代码的使用(反射和动态生成类)
  8. 蹭一波热度,对《青春有你2》109位漂亮小姐姐下手了
  9. spark属性配置的优先级
  10. idea实用技巧完全教程