설정
DB to DB 인터페이스는 인터페이스에 정의되어있는 SQL을 소스 DB에서 수행하고 결과를 타겟 DB에 반영한다. 이를 위해, 소스 데이터소스와 타겟 데이터소스를 설정해야 하며, 처리할 SQL을 설정해야한다.
1. 데이터소스 등록
실제 접근할 DBMS에 대한 정보인 데이터소스 정보를 등록해야한다. 이를 위해 인터페이스관리 > 데이터소스정 화면에서 해당 정보를 등록한다. 관련된 자세한 정보는 데이터소스정보를 참조한다.
2. 인터페이스 등록
DB to DB 인터페이스 등록은 인터페이스관리 > 배치인터페이스 화면에서 등록한다. 인터페이스ID, 인터페이스명은 인터페이스를 식별할 수 있는 값으로 설정한다.
각 구성항목에 대한 설명은 다음과 같다.
2.1. 구성항목
2.1.1. 기본정보
-
인터페이스방식: DB to DB
-
에러정책: 에러시 종료(Stop), 에러를 무시하고 이후 진행(Skip)에 대한 정책
-
전후처리프로그램ID: 배치 수행전후에 실행할 커스터마이징 프로그램
2.1.3. From To
-
소스에이전트그룹사용여부: 소스에이전트그룹을 사용할 것인지 선택한다. 사용이라면 에이전트그룹ID, 사용안함이라면 데이터소스ID를 설정한다. 가용 에이전트를 로드밸런싱하기 위해 사용한다. (현재 라운드로빈만 지원)
-
소스데이터소스: Select절을 실행할 데이터소스
-
타겟에이전트그룹사용여부: 타겟에이전트그룹을 사용할 것인지 선택한다. 사용이라면 에이전트그룹ID, 사용안함이라면 데이터소스ID를 설정한다. 가용 에이전트를 로드밸런싱하기 위해 사용한다. (현재 라운드로빈만 지원)
-
타겟데이터소스: Insert/Update/Delete절을 실행할 데이터소스
2.1.4. 처리기준정보
-
처리SQL유형: 처리구분컬럼으로 구분하여 SQL를 수행할 것인지 원장 데이터를 처리할 것인지를 구분한다.
-
All: 처리구분컬럼명을 기준으로 Insert/Update/Delete절 중 하나를 수행한다.
-
Single Query: 단일 SQL을 수행한다.
-
UPSERT: Update SQL이 선행되고, 수정된 건수가 0일 시, Insert SQL을 수행한다.
-
-
처리일시컬럼명: SQL 수행 후에 처리 결과를 저장할 때 SQL를 처리한 시간을 저장할 컬럼명을 입력한다.
-
처리ID컬럼명: SQL 수행 시 엔진에서 생성한 GUID를 저장할 컬럼
-
UUID컬럼명: 소스 테이블의 Row를 식별 가능한 컬럼
-
처리상태컬럼명: SQL 실행 후 실행한 처리결과가 Y/E로 기록된다.
-
처리구분컬럼명: 타겟 테이블의 SQL을 구분할 컬럼으로, C/U/D값에 따라 Insert/Update/Delete절이 실행된다.
-
커밋건수: Select의 Fetch건수 및 커밋단위이다. 예를 들어 100을 등록하면, 100건 단위로 데이터를 Fetch하여 To SQL을 처리한 후 커밋한다.
-
대상데이터삭제여부: 타겟 테이블의 데이터 전체를 삭제 후에 SQL를 수행할 것인지 여부
2.1.5. SQL Query
-
From SQL: 소스 DB의 데이터를 가져오기 위한 Select SQL을 등록한다.
-
To SQL: 전달된 데이터를 처리구분에 맞게 처리할 Insert/Update/Delete SQL을 등록한다.
소스 DB의 SQL의 결과를 타겟 DB로 전달하기 위해 From SQL의 결과 컬럼명과 To SQL의 Bind 변수명이 같아야 한다. 또한, 소스 테이블에는 UUID, 처리상태등 컬럼이 존재해야 한다.

Select절 Bind 변수 동적 값 설정방법
AP to Batch에서 실행하고자 하는 인터페이스의 유형이 DB to DB 또는 DB to File인 경우, 소스 데이터소스에서 데이터를 Select할 때 AP로 요청받은 전문의 값을 SQL의 Bind 변수에 동적으로 설정할 수 있다.
|
DBMS별로 컬럼의 대소문자를 각기 다르게 인식함에 유의한다. 예를 들어 Oracle은 반드시 대문자를 사용해야 하는 반면, Postgres는 소문자를 사용해야 한다. |