gpt4 book ai didi

java - 使用非常旧的 JDBC 1.0 驱动程序的 Spring Batch

转载 作者:行者123 更新时间:2023-12-01 05:29:28 26 4
gpt4 key购买 nike

我的工作很困难enterprise integration涉及 IEX TotalView 过时版本的场景(3.12.6.0.8)。 ODBC 驱动程序仅适用于 32 位体系结构 - 好吧,无论如何我都在使用 Java。但基于 Simba RPC 的 JDBC 驱动程序仅兼容 JDBC 1.0,并且在许多方面受到限制,我没有完整记录这些限制(一个缺陷是它似乎不支持准备好的语句,至少不是很好)。

我正在尝试使用 Spring Batch和 Apache Camel 构建了一个从 IEX 提取 WFM 数据的桥梁,但我在路上遇到了很多坎坷。例如,JdbcCursorItemReader失败如下:

preparedStatement = con.prepareStatement(
sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);

…带有java.sql.SQLException:驱动程序不支持。我已经使用 JdbcTemplate 完成了更简单的 ETL 场景。与 RowMapper ,但是这种组合让我要么自己驱动提取(违背了 Spring Batch 的目的),要么将整个结果集加载到列表中(违背了分页/流的目的)。

现在我正在尝试使用 JdbcPagingItemReader通过扩展AbstractSqlPagingQueryProvider实现我自己的query-based paging strategy ,但事实证明这比预想的要困难。

我是 Spring Batch 的新手,所以我可能会忽略一些东西。还有其他人有任何利用 Spring 与旧的/有缺陷的/有缺陷的 JDBC 驱动程序的策略吗?

最佳答案

现在,我决定发展自己的 ItemReader简单地查询其 DataSource 的 bean通过 JDBC API 获取属性。不是那么优雅,但没有什么可以(或应该)无限期地向后兼容。只要我记得好好清理,这应该会很顺利。

关于java - 使用非常旧的 JDBC 1.0 驱动程序的 Spring Batch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9219354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com