본문 바로가기

ETL Tools/Oracle Data Integrator

java를 이용하여 ODI Scenario 호출

1. 기본적인 java 설정.

2. odi-sdk-invocation.jar 파일 library에 추가

oracle.odi.sdk.invocationClass 들을 import 하기 위해서는

다음과 같은 경로에 있는  jar 파일을 java library에 추가 하여야 한다.

#ODI_HOME#\oracledi\tools\web_services\odi-public-ws.arr 이라는 압축 파일을 푼다.

그러면 lib 폴더에 odi-sdk-invocation.jar파일을 찾을 수 있다.

java library에 추가.


3. 코드 작성

Oracle Forum을 가보면 많은 자료를 찾을 수 있다.

예)

import oracle.odi.sdk.invocation.OdiCommand;
import oracle.odi.sdk.invocation.OdiCommandScenario;
import oracle.odi.sdk.invocation.OdiInvocation;
import oracle.odi.sdk.invocation.OdiInvocationResult;
import oracle.odi.sdk.invocation.OdiRepositoryConnection;
import oracle.odi.sdk.invocation.internal.AgentNetworkCmd;
import oracle.odi.sdk.invocation.internal.ArgumentFormatter;
import oracle.odi.sdk.invocation.internal.Crypto;


class  CheonScenTest
{
 public static void main(String[] args)
 {

  OdiCommandScenario cmdScenario = new OdiCommandScenario();
  OdiRepositoryConnection conn = new OdiRepositoryConnection();

  conn.setOdiUser("Admin");
  conn.setOdiPassword("admin");
  conn.setJdbcDriver("oracle.jdbc.driver.OracleDriver");
  conn.setJdbcUrl("jdbc:oracle:thin:@192.168.1.85:1521:orcl");
  conn.setJdbcUser("odimaster");//master repository의 아이디
  conn.setJdbcPassword("odimaster");//비밀번호
  conn.setWorkRepositoryCode("CHEON_WORKREP");//work repository name

  cmdScenario.setScenName("TRAINING_STEP2");//시나리오 이름
  cmdScenario.setScenVersion("001");//시나리오 버전 번호
  cmdScenario.setLogLevel(5);//로그번호
  cmdScenario.setContext("GLOBAL");//context 명

  try{
   OdiInvocation invocation = new OdiInvocation("192.168.1.85", 20913); //host name, port

   OdiInvocationResult result = invocation.invokeCommand(cmdScenario,conn);

  }catch(Exception e){
   e.printStackTrace();
  }
  System.out.println("Success!");
 }
}


결과 Operator에서 시나리오가 실행된 결과를 확인 할 수 있다.

아싸! ㅋㅋ

http://forums.oracle.com/forums/thread.jspa?threadID=644198