장난감

FilePath 값을 전달받음
파일을 하나씩 읽어서 파일명을 참고
파일의 레코드 카운트를 읽음

작업 1. 연계 대상 데이터 수집
          연계 대상 테이블의 데이터 IUD 발생시 Trigger로 
          SY_SSIS_DATA 테이블에 저장
          (순번,IUD 구분, 테이블명, 전체 데이터 XML)

작업 2. 동기화 작업 시작 시 작업 범위 선정(SYNC_SEQ)
          이전 작업 마지막 부터 현재 저장된 마지막 데이터 까지
          계산된 범위는 SY_SSIS_SYNC_JOB 테이블에 저장

작업 3. Source 데이터 파일 내보내기
          동기화 대상 작업 번호를 이용하여 
          Source 데이터를 CSV로 내보내기, 동기화 서버에 저장

작업 4. Source 데이터 파일 Target DB 저장
          동기화 대상 작업 번호를 이용하여 SY_SSIS_SYNC_JOB2에
          동기화 범위를 전송.
          Source 데이터 CSV 파일을 이용하여, 
          Target DB SY_SSIS_DATA2 에 저장          
          작업 완료 시 키 값 저장

작업 5. Source To Target 동기화 시작
          SY_SSIS_CONN2 연결 정보를 이용하여 DB연결,
          동기화 작업 키 값을 이용하여 동기화 대상 작업 선정
          (미결작업은 순서대로 모두 처리하게 되어 있었으나
           속도 문제로 한 사이클에 하나씩 처리하게 수정)

          동기화 작업은 대상 테이블의 Log 정보를 
          SY_SSIS_DATA2 에서 작업 번호, 테이블명을 이용하여 가져옴.
          XML 데이터를 파싱하고, IUD 여부에 따라
          데이터 발생 순번대로 Target 테이블에 반영
  
          전체 작업은 직렬로 구성되어 있어 테이블 하나씩 진행  
          작업 완료 시 키 값 저장
          Transaction 이 걸려 있어 실패 시 모두 Rollback   
             
작업 99. 동기화 작업 키 값 저장
          SY_SSIS_CONN2 테이블에 동기화 작업 키 값 저장
            - SYNC_SEQ    : 동기화 완료된 작업 번호
            - SYNC_SEQ2  : 데이터 전송 완료된 작업 번호        


댓글