首页| 论坛| 消息

标题:Qt数据库应用15-通用数据库同步
作者:liudianwu
日期:2022-03-14 08:16
内容:

## 一、前言
数据库同步的主要功能是将本地的数据库记录同步到远程的数据库,其中数据库类型不限,比如本地是sqlite数据库,远程可以是mysql数据库,本地是mysql数据库,远程也可以是postgresql数据库,只要数据库设置的时候设定好就行。这样做相当于就是通过程序的方式将数据库记录上传同步,还有一种机制是通过直接数据库上设置热备份啥的,个人还是习惯通过程序的方式,自主可控,比如可以自定义同步哪个表,哪部分数据需要同步。
有一种应用场景是现场很多客户端外接了各种传感器物联网设备(现在有个高大上的名字叫泛感知),客户端负责采集这些设备的数据,本地有记录,然后记录还可以同步到远程的数据库,需要提供一个app、网页、小程序啥的,去数据库中拿到对应的数据,如果没有这个上传到云端的过程,那就很难拿到这些数据,云端一般会有公网的IP地址,固定的,这样app也好小程序也好,直接发送请求回复对应的数据就行。除了能够拿到数据外,还可以发送对应的操作执行指令回控,比如单独一个表存储对应的指令,具体指令规则自定义,客户端在同步过程中还主动查询指令表是否有记录,有就取出来按照约定的规则执行,执行成功以后将对应记录删除。
数据库通信管理线程类特点:
1. 可设置数据库类型,支持多种数据库类型。
2. 数据库类型包括但不限于odbc、sqlite、mysql、postgresql、sqlserver、oracle、人大金仓等。
3. 可设置数据库连接信息包括主机地址、用户信息等。
4. 具有自动重连机制,可设置是否检查连接以及检查间隔。
5. 支持单条sql语句队列,一般用于查询返回数据,每次插入一条执行一条。
6. 支持多条sql语句队列,一般用于远程提交数据,每次插入一条执行多条。
7. 支持批量sql语句队列,一般用于批量更新数据,每次插入多条执行多条。
8. 可设置队列最大数量,限定排队处理的sql语句集合。
9. 通过信号发出 打印信息、错误信息、查询结果。
关于Qt数据库相关开发的一些经验总结:
[https://qtchina.blog.csdn.net/article/details/119022424](https://qtchina.blog.csdn.net/article/details/119022424)
## 二、功能特点
1. 同时支持多种数据库比如odbc、sqlite、mysql、postgresql、sqlserver、oracle、人大金仓等。
2. 一个数据库类即可管理本地数据库通信,也支持远程数据库通信等。
3. 数据库线程支持执行各种sql语句,包括单条和批量。
4. 组件中的所有类打印信息、错误信息、执行结果都信号发出去。
5...

回复 发表
主题 版块