在sqlite中是否有任何类型的Interceptor实现

got*_*ers 5 sqlite interceptor

我想知道,有没有办法拦截sqlite中的DML操作?我正在寻求实现像审计系统这样的东西来提取数据库上的插入和更新,并记录这些事件的变化.

我已经看过使用触发器,但这还不够,因为没有办法(我知道)定义一个全局触发器,并且手动管理超过100个表的触发器听起来不是一个好主意... longterm !

我愿意接受任何建议,所以请开火!

小智 7

也许,这就是你需要 用于跟踪/记录查询语句的SQLite回调函数

如果您使用C/C++对应用程序进行编码,那么您可以通过提供一个回调函数来为SQLite API添加一个钩子,该函数将调用sqlite_trace函数来记录查询语句.