<ODBC>

ODBC(Open batabase connectivity)는 애플리케이션이 데이터베이스를 바라볼 때
단일한 인터페이스만이 존재하도록 하기 위한 방법이다.

현재 많은 소프웨어 개발자들이 다양한 데이터를 관리하기 위한 솔루션을 제공하고 있으며,
시중에는 데이터베이스를 통해 데이터를 관리한다는 기본 방침에 충실한 솔루션들이 이미 마련되어 있다.
만약 플랫폼이 사용하고 있는 데이터베이스 솔루션이 처음부터 끝까지 동일하지 않고 계속 변경된다면
애플리케이션 개발자들은 어떻게 해야할까? 개발자들은 매번 바뀌는 데이터베이스 솔루션에 맞게 수정을 반복해야 할 것이다.
아니면 그러한 반복작업을 최소화하기 위해 단일화된 인터페이스를 만든 수, 그 하위단에 어떠한 데이터베이스를 위치하도록 하여
단일 데이터베이스 인터페이스가 모든 데이터베이스를 제어하도록 해야 할 것이다.
이때 사용되는 대표적인 인터페이스가 바로 ODBC이다.



<Indicator 변수>

2byte / short형(정수형)으로 선언되어야 함
":"을 앞에 붙여 호스트변수 바로 뒤에 기술
컬럼의 상태를 갖고 있음★

* 정상인 경우는 0
* null column엔 -1
* 값이 짤린 경우에는 0보다 큰값(또는 -2)이 들어가게 됨

host variable 타입이 CHAR타입이 아닌 INTEGER 또는 DOUBLE형이라도
indicator선언은 필요하다

(ex)
FETCH CURSOR_NAME
INTO :HOST_VAR INDICATOR :HOST_VAR_IND;
여기서  INDICATOR 키워드는 생략가능하다.
*/  


(ex)
EXEC SQL BEGIN DECLARE SECTION;
    int emp_number;
    float salary, commission;
    short comm_ind;
EXEC SQL END DECLARE SECTION;

EXEC SQL
    SELECT SAL,
                 COMM
        INTO :salary,
                :commission:ind_comm  
      FROM EMP
    WHERE EMPNO = :emp_number;
if(ind_comm == -1 )  /* commission 컬럼이 NULL이다. */
    pay  = salary;
else
    pay = salary + commission;
    
    

[참고]

+ Recent posts