CCI 라이브러리는 CUBRID에서 제공되는 C 언어 인터페이스다. CCI는 브로커를 통해서 접속하므로 다른 인터페이스인 JDBC, PHP, ODBC 등과 동일하게 관리될 수 있다. 실제로 CCI는 PHP, ODBC, Python, Ruby 인터페이스를 구현하는 하부 구조로 사용되었다.
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를 이용하는 응용 프로그램은 기본적으로 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에서 정적 라이브러리를 적용하기 위한 설정이다.