2012-02-09 37 views
1

我正在处理涉及IEX TotalView(3.12.6.0.8)的过时版本的疑难enterprise integration方案。 ODBC驱动程序只适用于32位体系结构 - 很好,我仍然使用Java。但是,基于Simba RPC的JDBC驱动程序只符合JDBC 1.0标准,并且在许多方面受到限制,我没有完整记录(一个缺点是它似乎不支持预准备语句,至少不是很好)。带有很老的JDBC 1.0驱动程序的Spring批处理

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

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

…与java.sql.SQLException: Driver Not Capable。我在简单的ETL场景中使用JdbcTemplateRowMapper,但这种组合让我自己驱动提取(破坏Spring Batch的目的),或者将整个结果集加载到列表中(击败寻呼的目的/流)。

现在我试图使用JdbcPagingItemReader扩展AbstractSqlPagingQueryProvider来实现我自己的query-based paging strategy,但它比预期要困难得多。

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

回答

0

现在,我决定发展我自己的ItemReader bean,那么vely通过JDBC API查询它的DataSource属性。不够优雅,但没有东西可以(或应该)无限期地向后兼容。只要我记得清理干净,这应该工作得很好。