Oracle数据库批量数据导出工具开发
2018-03-13 23:54
1051 查看
Oracle数据库批量数据导出工具开发
需求最近工作中遇到一个需求,用户频繁要求从后台批量导出大量数据。目前的导出方式是使用PL/SQL Developer工具连接Oracle数据库,编写SQL语句,使用PL/SQL Developer工具自带的导出Excel文件的功能进行导出。
编写SQL查询结果
2.选择导出Excel文件
选择导出Excel文件时可以选择导出XLS、XLSX两种格式的文件。
遇到的问题:
当用户要求导出的数据条数太大,超过XLS或者XLSX两种文件可以存储的最大行数时即导出失败。为解决此问题,特定开发Oracle数据导出工具,用以支持大批量数据的导出工作。
XLS文件最大行数是:65536
XLSX文件的最大行数是:1048576
基本构想
使用任一编程语言连接数据库并执行SQL,将查询结果分别写入Excel文件。
存在两种实现方案:
使用Java语言连接数据库,使用POI库写Excel文件
使用C/C++语言开发桌面程序,使用其他库写Excel文件
选择过程:
考虑到工具会提供公司内部其他同事使用,加之对Java做界面不是很了解,故放弃此方案1,采用方案2。选定使用方案2后,着手选择可使用的库及相关技术。
关于存储文件的选择
直接写Excel文件:写Excel文件时,使用LibXl库,当数据量比较大的时候,会出现存盘失败的情况,此种情况下只能减少写入Excel文件的行数。如果查询结果的字段很多,长度很长的情况下,此种方案可保存的数据条数更少。
写Txt文件:
写Csv文件:
写Txt文件和写Csv文件类似。区别在于写Txt文件的时候,使用"\t"分隔不同的字段,而写Csv格式时,使用","(逗号)进行分隔。
另外,在写Csv和Txt格式的文件时,由于用户可通过Excel打开则如果是数字,并且以0开头的话,需要添加'号以标识此字段为文本。
其他内容
选择Duilib UI库,没有选择MFC
选择OCILib访问和操作数据库(希望可以专门写一遍笔记记录该库的使用方法)
使用LibXl库写Excel文件
操作流程
相关文章推荐
- 功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上
- 很多人都没用过的轻量级Oracle数据库数据导出工具SQLLDR2——性能超赞
- 使用bcp工具导入和导出批量数据
- 很多人都没用过的轻量级Oracle数据库数据导出工具——性能超赞
- 3#使用plsql工具导出oracle数据库数据
- oracle 数据批量导出工具
- Linux主机sqlldr工具批量文本数据导入oracle数据库
- 使用python开发json、csv数据格式转换工具
- HData——ETL 数据导入/导出工具
- 将Oracle数据库中的数据导出为txt格式(方法2:)
- 数据泵导出导入工具的使用
- MySQL数据的导出和导入工具:mysqldump
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
- 导出/导入Oracle数据库对象和数据
- android开发之工具类:获取手机设备的一些数据DeviceUtil
- Oracle数据库使用PDE文件导出数据和传统EXP/IMP方式的区别
- Oracle Data Pump 工具系列:使用 %U 和 filesize 参数将大数据拆分成小文件导出
- 用数据泵导入/导出Oracle数据库
- SQL2008通过自带导入导出工具导入.txt数据的操作方法
- Oracle数据库:impdp导入数据库及expdp导出数据过程详解