一、前言
在大部分的现场项目中,如果使用关系库的总站和子站的数量比较多的时候,数据的汇总和同步是个很麻烦的问题,况且不是所有的关系库都具有存储过程和触发器等功能。因此,关系库同步工具应运而生,能够不依赖数据库软件本身而实现对多个关系库的数据进行同步和汇总的功能。
二、整体概述
1、主界面
运行:在“配置”之后,执行从各个远程数据库到本地数据库的汇总和下置过程。
配置:设置参数,包括IP、DSN、SQL表和字段等。
清空本地表:对于每个远程数据库的机器号,删除本地数据库中所有改号的记录。
清空:界面显示操作。
导出:执行错误时便于分析。
2、运行程序后,首先点“配置”进行远程数据库和表结构设置:
定时器周期:单位s,执行内部定时器扫描的间隔,建议为1。
下次汇总间隔:下次执行汇总的时间间隔,即使周期短,每次执行结束才会执行下个工作过程。
下次下置间隔:下次执行下置的时间间隔,即使周期短,每次执行结束才会执行下个工作过程。
3、DSN设置界面:
IP:数据库所在机器的地址
机器号:主要数据表,字段为 machine_id 的数值
DSN:连接字符串
4、SQL表和字段设置界面
表名:SQL中的表名。
需要更新记录:
如果不钩选“主要表”,当不选中时只进行insert的增加记录操作,当选中时会比较其它非主键字段的内容,数据不一样时进行update的更新记录操作;
如果钩选“主要表”,这个选项不起作用。
主要表,根据机器号清空表使能:
如果钩选,该表是针对主要数据表进行的操作,必须设置表的比较标记字段(类似于主键),表必须包含machine_id、note_no、IsNotBackup这几个字段,否则执行过程异常;
如果不沟选,则该表中的上述字段无效果,就是一般的表,“需要更新记录”选项将决定是否对远程更新过的数据进行本地更新。
主要表,根据机器号写到客户端:
选择改选项时,表名为中心的临时表,主下置表名为远程使用的原表,当临时表的每条语句被执行之后就会删除改条记录。表必须包含machine_id、IsNotBackup这几个字段。
字段名:SQL表中的字段;
字段格式:支持的包括整数、浮点数、字符串。
比较标记:指明这个字段需要进行远程和本地的查询条件,相当于主键的作用。
三、总结
关系库同步工具的应用,使得原本多个关系库之间的数据同步和汇总由复杂而变得简单。只需要进行几步配置,就可以运行使用。