open62541开发:添加sqlite3 历史数据库

历史数据库在OPCUA 应用中十分重要,例如OPCUA 网关和OPCUA 汇聚服务器中都需要历史数据库功能。但是open62541 协议栈中仅包含了基于内存的历史数据库,在实际应用中是不够的。本博文讨论open62541 中添加sqlite3 为基础的历史数据库若干问题。

借鉴

Github上有一些open62541 添加sqlite 的项目的项目,在CSDN 上

学习open62541 --- 58 使用数据库存储历史数据

的博文中,介绍了如何将sqlite 改成Linux 下的实现。它的项目在:

GitHub - nicolasr75/open62541_sqlite:

他的项目对我帮助很大,但是,它的sqlite 不是加载到open62541 的Plugin 中,而是单独地添加在应用程序的项目中的。 他将c程序和h 文件合在了一起,只有使用sqlite 历史数据时才会被include 并且编译。所有没有什么问题。我的项目是将open62541 安装到系统目录中的,所以希望将sqlite 结合到open61541 程序中。下面记录我的实现过程:

open62541 历史数据库的接口

在open62541 包这加入sqlite3

安装sqlite3 库

bash 复制代码
sudo apt -y install libsqlite3-dev
 

修改open62541 的cmake.txt

应用程序测试

相关推荐
小白勇闯网安圈4 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite
努力的小雨5 小时前
同一份 SQL 跑多套环境:Ksql 变量怎么用才安全
数据库
科技绘图5 小时前
快鲸GEO vs 传统AI搜索优化:全链路自动化与高效内容生产在转化闭环上的对比
数据库·人工智能·自动化
ltl5 小时前
数据库作为 LLM 记忆体:语义缓存、RAG 与一致性
数据库
ltl6 小时前
WAL 与崩溃恢复:ARIES 协议怎么跑通
数据库
ltl6 小时前
TEE 数据库:EnclaveDB、Oblivious 原语与机密 SQL
数据库
麻瓜code7 小时前
【Mysql】重新学一遍 SQL 执行顺序
数据库·sql
这个DBA有点耶7 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构
安_8 小时前
RAG的向量数据库:为LLM提供语义搜索能力
数据库
喜欢的名字被抢了9 小时前
程序出问题怎么查,以及如何让它不掉线
java·运维·数据库