SQLJ 연결 기술 2: JDBC DriverManager 인터페이스

SQLJ 연결 기술 2는 연결 작성을 위한 기본 도구로 DriverManager 인터페이스를 사용합니다.

프로시저

SQLJ 연결 기술 2를 사용하려면 다음 단계를 수행하십시오.

  1. SQLJ 연결 선언 절을 실행하십시오.
    이를 수행하면 연결 컨텍스트 클래스가 생성됩니다. 연결 선언 절에 대한 가장 단순한 양식은 다음과 같습니다.
    #sql context context-class-name;
    생성된 연결 컨텍스트 클래스 이름은 context-class-name입니다.
  2. Class.forName 메소드를 호출하여 JDBC 드라이버를 로드하십시오.
    • IBM® Data Server Driver for JDBC and SQLJ의 경우 다음 방법으로 Class.forName 를 호출하십시오.
      Class.forName("com.ibm.db2.jcc.DB2Driver");

      JDBC 4.0 드라이버 이상을 사용하는 경우에는 이 단계가 필요하지 않습니다.

  3. JDBC DriverManager.getConnection 메소드를 호출하십시오.

    이를 수행하면 데이터 소스 연결을 위한 JDBC 연결 오브젝트가 작성됩니다. " IBM Data Server Driver for JDBC and SQLJ와 함께 DriverManager 인터페이스를 사용하여 데이터 소스에 연결" 에 지정된 getConnection 양식을 사용할 수 있습니다.

    url, user, password 매개변수의 의미는 다음과 같습니다.
    url
    데이터 소스에 연관된 위치 이름을 지정하는 문자열입니다. 해당 인수에는 " IBM Data Server Driver for JDBC and SQLJ와 함께 DriverManager 인터페이스를 사용하여 데이터 소스에 연결" 에 지정된 양식 중 하나가 있습니다. 양식은 사용 중인 JDBC 드라이버에 따라 다릅니다.
    user and password
    연결 중인 데이터 소스에 필요한 경우, 데이터 소스 연결을 위한 사용자 ID 및 암호를 지정하십시오.
  4. 1단계에서 작성한 연결 컨텍스트 클래스의 생성자 호출

    이를 호출하면 연관된 데이터 소스에서 실행하는 각 SQL문에 지정하는 연결 컨텍스트 오브젝트가 작성됩니다. 생성자 호출 명령문의 양식은 다음과 같아야 합니다.

    connection-context-class connection-context-object=
      new connection-context-class(Connection JDBC-connection-object);

    JDBC-connection - object 매개변수는 3단계에서 작성한 Connection 오브젝트입니다.

다음 코드는 연결 기술 2를 사용하여 NEWYORK 위치에 대한 연결을 작성합니다. 연결 시에는 사용자 ID와 암호가 필요하며 자동 커미트는 필요하지 않습니다. 선택된 명령문의 오른쪽에 있는 숫자는 이전에 설명한 단계에 해당합니다.
그림 1. 연결 기술 2를 사용하여 데이터 소스 연결
#sql context Ctx;           // Create connection context class Ctx        1 
String userid="dbadm";      // Declare variables for user ID and password
String password="dbadm";
String empname;             // Declare a host variable
…
try {                       // Load the JDBC driver
  Class.forName("com.ibm.db2.jcc.DB2Driver");                             2 
}
catch (ClassNotFoundException e) {
   e.printStackTrace();
}
Connection jdbccon=                                                       3 
  DriverManager.getConnection("jdbc:db2://sysmvs1.stl.ibm.com:5021/NEWYORK",
    userid,password);
                              // Create JDBC connection object jdbccon
jdbccon.setAutoCommit(false); // Do not autocommit                       
Ctx myConnCtx=new Ctx(jdbccon);                                           4 
                              // Create connection context object myConnCtx
                              // for the connection to NEWYORK
#sql [myConnCtx] {SELECT LASTNAME INTO :empname FROM EMPLOYEE 
   WHERE EMPNO='000010'};  
                              // Use myConnCtx for executing an SQL statement