콘텐츠로 이동

LOB 함수 소개

LOB Function Overview#

LOB 데이터를 다루기 위해서 사용되는 함수들은 아래와 같다.

  1. SQLBindFileToCol() (비표준)
    Full Retrieve

  2. SQLBindFileToParam() (비표준)
    Full Insert, Full Update

  3. SQLGetLobLength() (비표준)
    LOB 데이터의 길이를 구한다.

  4. SQLGetLob() (비표준)
    Partial Retrieve

  5. SQLPutLob() (비표준)
    Partial Insert, Partial Update, Partial Delete

  6. SQLFreeLob() (비표준)
    사용중이던 LOB locator를 해제

  7. SQLGetData(), SQLPutData() (표준)
    Full Retrieve/Update

  8. 여타 ODBC 의 모든 표준 함수들

위 함수 중 1 ~ 6번은 Altibase가 LOB을 다루기 위해 제공하는 특수 함수들로써, ODBC 표준에는 없는 함수들이다.

7, 8번과 같이 ODBC API에서 정의하는 함수들을 이용해서 데이터베이스의 칼럼 타입이 LOB 인지의 여부에 무관하게 표준 함수만으로도 LOB 데이터에 접근할 수 있다. 단, ODBC 표준 함수만을 사용했을 경우, 부분 갱신(partial update), 부분 검색(partial retrieve) 등의 기능은 사용할 수 없다.

만약 사용자가 ODBC driver manager를 이용해서 프로그래밍하고자 하면, odbc.ini 파일에 다음과 같은 항목을 추가해야 한다.

LongDataCompat = yes
또는
LongDataCompat = on

위의 항목을 odbc.ini 파일에 추가했을 경우, SQL_BLOB, SQL_CLOB 과 같은 타입은 각각 SQL_LONGVARBINARY, SQL_LONGVARCHAR 와 같은 타입으로 변환되어서 사용자에게 전달된다. 따라서 ODBC driver manager를 사용하더라도 투명하게 LOB 데이터를 다룰 수 있다.