怎么获取Caché的CDC数据?
1.Caché数据库有没有办法配置然后用sql读取数据库实时变化的数据,类似于mssql那样?我看了可以写类去读取global获取journal的值,但是怎么用sql读呢?
2.不行的话,那用什么方式可以读取到journal日志文件,并输出日志文件的内容?
先谢谢大家了!!!
1.Caché数据库有没有办法配置然后用sql读取数据库实时变化的数据,类似于mssql那样?我看了可以写类去读取global获取journal的值,但是怎么用sql读呢?
2.不行的话,那用什么方式可以读取到journal日志文件,并输出日志文件的内容?
先谢谢大家了!!!
请参考CDC 系列文章:https://cn.community.intersystems.com/post/cdc%E7%B3%BB%E5%88%97%E4%B9%8...
这个试过了,配置dejournal没有问题,但是用$$$JRNNEWVAL(Address) 输入偏移量获取不到值的
注意文章中的提示:
1. $$$JRNNEWVAL(Address) 、$$$JRNOLDVAL(Address)`这2个宏定义在%syJrnRecord.inc文件里,因此需要将这个include文件加入ZCustom.MirrorDejournal类定义:Include %syJrnRecord
2.在InterSystems IRIS上修改并编译dejournal过滤器类后,需要重启异步镜像成员的Mirror,以使更改生效。
加了这个定义,并重启了的Mirror的,还是获取不到值的
使用的产品版本是什么?Dejournal filter是在Mirror report类型的异步镜像成员做的还是在shadow上做的?不同给的版本对应不同的处理方式。
同时还是建议将问题提到WRC:support@intersystems.com,他们会给予更详细的错误分析以及解决方案。
是在Mirror report类型的异步镜像成员上做的,版本是Cache for Windows (x86-64) 2016.2 (Build 736_0_16871U) Wed Dec 21 2016 09:38:49 EST版本
可以参考 %SYS.Journal.File.cls 这个类下的代码是如何使用$$$JRNNEWVAL(Address) 、$$$JRNOLDVAL(Address)的。
我是Java使用者,试图使用Java开发类似读取mysql的binlog的方式来获取IRIS的CDC数据,但是读了这一系列的CDC数据好像并不能满足我的需求,请问目前有好的方案不?