command
module
Version:
v0.0.0-...-cc5cea2
Opens a new window with list of versions in this module.
Published: May 23, 2020
License: MIT
Opens a new window with license information.
Imports: 17
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
ORA数据导出工具 v2.0
- Oracle数据库驱动 github.com/jzaikovs/ora
- Excel读写组件 github.com/360EntSecGroup-Skylar/excelize/v2
- UI窗口组件 github.com/andlabs/ui
根据脚本:TExportTASK.sql
,Oracle数据库中建立如下数据表:
序号 |
表名 |
中文描述 |
备注 |
1 |
TExportTASK |
计划任务表 |
由上报程序维护 |
2 |
TExportLOG |
执行日志表 |
由自动导出写入 |
3 |
TMRDCONFIRM |
审核确认表 |
审核通过写入 |
4 |
TUPLOADROLE |
查询规则 |
管理接口 |
配置运行
配置文件 dbQExpTool.ini
,说明如下:
-
连接数据库 [DATABASE]
- Servername ,LogId ,LogPass 设置连接参数参照PLSQL
-
导出任务 [dbQExpTool]
- do ,file ,query 设置导出文件类型、文件路径、查询SQL
- 最大10个导出任务,4个属性为一组,SELECT语法错误会报查询错误,能跳过继续执行。
- 导出格式 csv 性能好占用少。大数据量推荐使用
- 导出格式 xlsx 写Excel文件50MB以内
- 以下内容为导出任务的配置
- 选择导出规则将自动填写导出文件名,备注和统计查询语法。
- 选择汇总周期:月报,周报,日报,决定查询数据的周期,如月报,本月报上月数据。
- 间隔天数或星期几表示触发时间,与windows计划任务中的触发条件对应。导出时间点即触发的时间,建议待机运行在晚上执行。
- 导出路径需要和前置机扫描路径一致,否则无法自动上传。
- 查询语法为数据查询范围的模板,决定了导出数据量和内容形式。查询视图是能否通过平台审核的关键。由于SQL语句非常长,双击将放大显示。
- 统计语句可作为查错参考载入执行日志。
详情见测试截图:
- 启动任务
- 执行完成
Documentation
¶
dbQExpTool v2.0 by Robin @2020-02-27
说明:查询Oracle数据库,多线程并发X4,导出xlsx文件、导出csv文件,速度统计
连接可配置,任务sql来自文档
由于cgo交叉编译问题,最终换oci库解决:"github.com/jzaikovs/ora"
andlabs.ui 任务表格+子任务进度,总进度条 退出按钮
处理异常信息:连接失败,语法错误,任务异常终止
已完成的任务回收内存
解决Excel内存占用问题
ini读取配置截[未匹配导致异常
支持32位和64位交叉编译install
Excel修复A1列未导出bug 数值显示%!s(float64=1)金额精度偏差
升级Excel组件支持流读写,内存占用很少,速度提升1倍
streamWriter.SetRow() Write large amount of data:out of memory,App crashes
runtime: out of memory: cannot allocate 609738752-byte block //25500 rows
达到15.7Mb 或 25501*647数据规模,中断写入 Excel文件50MB
dbQExpTool v1.12 by Robin @2019-08-14
命令参数传入 数据库连接和自动导出
从数据表中获取导出任务配置,起止日期,文件名自动产生
重置工作目录,避免计划任务路径错误问题
导出后写日志表并自动退出
Source Files
¶
Click to show internal directories.
Click to hide internal directories.