涉及2个单独的DB,两个都是2个不同的地方。 在我的应用程序中,我使用spring批处理并实现如下:
1.从AS / 400数据库中获取所有ID(主数据库) 2.与我的SQL数据库(我的应用程序)ID以及sql db中存在的Ids相比,我将这些IDS信息更新为我的本地数据库(MY SQL)。 坏处 : 假设AS400 DB有10个ID,而在我的应用程序中只有2个ID,但是为了获得这些数据 我实际上正在阅读所有10个Ids。所以浪费时间和效率不足吧?!
以下是我在Spring批处理中用于获取数据的代码:
<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)中存在的数据。 是否可以连接2 db并通过弹簧批处理作业获取数据?
任何想法,建议都将不胜感激。 提前谢谢..
答案 0 :(得分:-1)
您是否无法使用此查询创建数据库视图?