涉及两个独立的数据库,两者实际上都是两个不同的地方。在我的应用程序中,我使用了spring-batch并实现如下:
1.从AS/400数据库(主数据库)获取所有id2.与我的SQL数据库(我的应用程序)ID和SQL数据库中曾经存在的ID相比,我正在将这些ID信息更新到我的本地数据库(MY SQL)。缺点:假设AS400DB有10个id,而在我的应用程序中只有2个id,但为了获得这些数据事实上,我正在阅读全部10个ID。这么浪费时间和效率,对吧?!
以下是我在spring-batch中用来获取数据的代码:
<bean id="patternsItemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="sql" value="SELECT
J3PATT AS patternId,
J3PTYP AS patternType,
J3CLAS AS PatternClass,
J3REPT AS repeat,
j3CLRS AS numOfColors,
JOENTT AS event,
J3ACT AS activity
FROM TEST006966.JQP030H a WHERE rrn(a) >=( select max(rrn(b)) from
TEST006966.JQP030H b where a.j3patt = b. j3patt) and j3sts = 'N' ORDER BY
J3PATT, JODATE desc ,jotime desc
"/>
<property name="rowMapper">
<bean class="org.springframework.jdbc.core.BeanPropertyRowMapper">
<property name="mappedClass" value="com.mohawkind.batch.patterns.PatternsRowMapper"/>
</bean>
</property>
<property name="dataSource" ref="AS400DataSource" />
</bean>
<bean id="patternsItemWriter" class="com.mohawkind.batch.patterns.PatternsWritter" />
我在找什么:
我想要一个只获取本地(SQL DB)中存在的数据的解决方案。是否可以连接2db并通过spring批处理作业获取数据??
任何想法、建议都将不胜感激。提前谢谢。。
是否不能使用此查询创建数据库视图?