如何通过 JDBC 增量查询 SQL Server CDC
Posted
技术标签:
【中文标题】如何通过 JDBC 增量查询 SQL Server CDC【英文标题】:How to query SQL Server CDC through JDBC incrementally 【发布时间】:2017-05-23 03:20:57 【问题描述】:我正在尝试以增量方式读取 SQL Server CDC 更改。 在我的第一个间隔,我查询
Statement statement = connection.createStatement();
String queryString = "SELECT * FROM cdc.fn_cdc_get_all_changes_dbo_mytable(sys.fn_cdc_get_min_lsn('dbo_mytable'), " +
"sys.fn_cdc_get_max_lsn(), 'all') ORDER BY __$seqval";
ResultSet rs = statement.executeQuery(queryString);
现在我知道 __$start_lsn 是二进制 (10) 中的 LSN(日志序列号)。虽然我不明白如何将它作为 Java 类型读取,以便我可以将它包含在我的下一个查询中,以及我应该如何创建我的下一个查询,我希望将 min_lsn 指定为我处理的最后一个 LSN。
【问题讨论】:
【参考方案1】:您可以使用多个选项从ResultSet
检索数据
然后要创建一个新查询,请查看使用PreparedStatement
。有几个选项可以根据您从初始查询中提取的类型设置数据。
【讨论】:
以上是关于如何通过 JDBC 增量查询 SQL Server CDC的主要内容,如果未能解决你的问题,请参考以下文章