是否可以从Dirty Reads中安全地进行OpenEdge审计

时间:2016-12-21 10:23:09

标签: openedge progress-4gl

使用 Read Committed ODBC连接,在从OpenEdge的审核表(数据库用户表CRUD操作)中读取时,我获得了奇数记录锁定...

  

错误[HY000] [DataDirect] [ODBC进度OpenEdge有线协议驱动程序] [OPENEDGE]无法从表PUB._aud-audit-data获取记录锁定。

我了解隔离级别并知道可以通过更改为未提交读取来解决此问题。

显然,这样做的主要危险是脏读是可能的。脏读将肯定会导致我的解决方案问题,所以这将是一个禁忌。但...

OpenEdge审计的本质是否可以防止对源记录进行粗略读取?

这是我在这个问题背后的想法...... 使用我的配置,在完成针对用户表的CRUD操作时创建OpenEdge审计记录。我想确保我只读取用户表CRUD操作已提交到数据库的审计记录。我怀疑情况总是如此,审计记录仅在提交用户表CRUD事务后创建。如果是这种情况那么只有在特殊情况下审计记录交易才会被回滚,因此审计记录的脏读不是真的可能......

这可行吗? 任何人都可以澄清用户交易的生命周期,然后在OpenEdge中进行审计交易吗? 我认为审计事务不太可能但是可能会失败,在这种情况下,原始的,审计的CRUD操作会发生什么?

0 个答案:

没有答案