CCI API를 보고 있는데...
CCI API가 Broker로 접속해서 쿼리를 날리는 C용 라이브러리인가요?
연결시 query_editor가 아닌 broker로 접속하는게 맞는가요?
이전 글들을 보면 dbi.h를 인클루드 해서 코딩한 것이 있던데 이것은 무엇인가요?
차이점을 알려주십시오.
안녕하세요
CCI API는 브로커의 모듈을 사용하여 DB접근, 질의수행등의 작업하는 것입니다.
1. CCI API가 Broker로 접속해서 쿼리를 날리는 C용 라이브러리인가요?
C언어로 구현된 브로커 라이브러리이며 C API는 아닙니다.
2. 연결시 query_editor가 아닌 broker로 접속하는게 맞는가요?
CCI구현에서 어떤 브러커 포트를 설정하느냐에 따라 다릅니다.
예를 들어 포트 30000이 query_editor포트라면 query_editor브로커를 사용하는 것입니다.
당연히 브로커는 구동되어 있어야 합니다.
3. 이전 글들을 보면 dbi.h를 인클루드 해서 코딩한 것이 있던데 이것은 무엇인가요?
C-API는 DBMS의 라이브러리를 참조하여 디비접속 및 질의수행등의 작업을 수행 할 수 있습니다.
dbi.h파일은 이런 일련의 작업들을 수행하기 위한 API의 해더파일입니다.
C에서 printf를 사용하기 #include <stdio.h> 사용하는 것과 동일합니다.
4. 밑처럼 쿼리를 날렸는데... 실제로 인서트가 안되네요...무엇을 잘못한건가요?
디비에 연결이 정상적으로 수행되었다면 commit을 수행하지 않아 insert가 안된 것 같군요.
CUBRID는 3티어 구조로 브로커라는 미들웨어를 통해 디비를 사용할 수 있습니다.
또한, 브로커를 거치지 않고 C-API로도 가능합니다.
>CCI API를 보고 있는데...
>
>CCI API가 Broker로 접속해서 쿼리를 날리는 C용 라이브러리인가요?
>연결시 query_editor가 아닌 broker로 접속하는게 맞는가요?
>이전 글들을 보면 dbi.h를 인클루드 해서 코딩한 것이 있던데 이것은 무엇인가요?
>차이점을 알려주십시오.
>그리고...
>밑처럼 쿼리를 날렸는데... 실제로 인서트가 안되네요...무엇을 잘못한건가요?
> sql = \\\"INSERT INTO tbltest VALUES(8)\\\";
> con = cci_connect(cas_ip,cas_port,dbname,\\\"PUBLIC\\\",\\\"\\\");
> if( con < 0 )
> {
> fprintf(stderr, \\\"%s(%d): \\\", __FILE__, __LINE__);
> goto handle_error;
> }
> req = cci_prepare(con,sql,0,&error);
> if( req < 0 )
> fprintf( stderr,\\\"%s(%d): \\\", __FILE__, __LINE__);
> res = cci_execute(req, 0, 0, &error);
> if( res < 0 )
> fprintf( stderr,\\\"%s(%d): \\\",__FILE__, __LINE__);