2013-07-15 4 views
0

2 개의 별도 DB가 있고 둘 다 phisically 2 곳입니다. 내 응용 프로그램에서 , 나는 스프링 배치를 사용하고 다음과 같이 구현 : MY SQL DB를 (내 응용 프로그램) ID와 무엇을 적 IDS 존재와 2.comparing AS/400 데이터베이스 (마스터 DB) 에서 모든 ID를 1.Fetching두 개의 데이터베이스를 연결하고 단일 쿼리로 쓰기?

SQL 데이터베이스에서 내 로컬 DB (MY SQL)로 해당 IDS 정보를 업데이트합니다. 단점 : AS400 DB에 10 개의 ID가 있고 내 응용 프로그램에 2 개의 ID 만 있지만이 데이터를 얻으려는 경우 실제로 모든 10 개의 ID를 읽었습니다. 그래서 시간 낭비와 효율성의 부족은 바로?! 난 단지 내 로컬에 존재되는 데이터를 (가져올 수있는 솔루션을 원하는

:

<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

예에서 10 행 2 행을 언급했습니다. 이것이 당신이 기대하는 양을 나타내는 것입니까? 카디널리티가 이처럼 낮 으면 합리적인 전략은 크기가 수천 또는 수백만 인 경우와 매우 다를 수 있습니다. – WarrenT

답변

-1

이 쿼리를 사용하여 데이터베이스보기를 만들 수 있습니까?

관련 문제