CCI 라이브러리

CCI 라이브러리는 CUBRID에서 제공되는 C 언어 인터페이스다. CCI는 브로커를 통해서 접속하므로 다른 인터페이스인 JDBC, PHP, ODBC 등과 동일하게 관리될 수 있다. 실제로 CCI는 PHP, ODBC, Python, Ruby 인터페이스를 구현하는 하부 구조로 사용되었다.

CCI 설치 및 구성

CCI는 CUBRID 설치 과정에서 Broker에 포함되어 함께 배포되므로 CUBRID 설치 외의 별도의 작업은 필요 없다.

 

Windows

Unix/Linux

C 헤더파일

include/cas_cci.h

include/cas_cci.h

정적 라이브러리(32비트용)

lib/cascci.lib

lib/libcascci.a

정적 라이브러리(64비트용)

lib/cascci_x64.lib

lib64/libcascci.a

동적 라이브러리(32비트용)

lib/cascci.lib

bin/cascci.dll

lib/libcascci.so

동적 라이브러리(64비트용)

llib/cascci_x64.lib

bin/cascci_x64.dll

lib64/libcascci.so.8.1.0

CCI 사용
CCI 응용 프로그램의 기본 구조

CCI를 이용하는 응용 프로그램은 기본적으로 CAS와 연결하기, 질의 준비, 질의 수행, 응답 처리, 연결 끊기의 과정을 통해 CUBRID를 이용하게 된다. 각 과정에서 CCI는 연결 핸들(Connection Handle), 질의 핸들(Query Handle), 응답 핸들(Response Handle)을 통해 응용 프로그램과 소통한다.

다음은 CCI를 이용하는 응용 프로그램의 구조와 각 단계별로 사용되는 함수를 나타낸다.

 

사용 방법

CCI를 이용한 응용 프로그램을 작성했다면 프로그램 특성에 따라 정적 링크 형태로 프로그램을 수행시킬 것인지, 아니면 동적으로 CCI를 호출하여 사용할 것인지를 결정하여 프로그램을 빌드한다. CCI 설치 및 구성의 표를 참조하여 사용할 라이브러리를 결정한다.

다음은 유닉스/Linux에서 동적인 라이브러리를 사용하여 링크하는 Makefile의 예제이다.

CC=gcc
CFLAGS = -g -Wall -I. -I$CUBRID/include
LDFLAGS = -L$CUBRID/lib -lcascci -lnsl
TEST_OBJS = test.o
EXES = test
all: $(EXES)
test: $(TEST_OBJS)
 $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS)

아래는 Windows에서 정적 라이브러리를 적용하기 위한 설정이다.