sqlglm 함수를 이용한 오류 메시지 출력하기
pro*c에서 쿼리 실행시 오류가 발생하면 sqlca 구조체에 sqlerrm 구조체에 있는 것을 활용하여 메시지를 출력을 할 수 있으나
sqlerrm.sqlerrmc가 항상 마지막 문자열에 null을 주는 것이 아니라 메시지가 제대로 출력 되지 않아 sqlerrm.sqlerrml 로 길이를 구해서
출력해야 되는 번거로움이 있다.
이런 번거로움 대신 sqlglm 함수를 사용하여 간단하게 메시지를 출력 해보자.
sqlglm 함수 알아보기 |
아래와 같이 해더를 추가한다.
#include <sqlcpr.h> |
함수의 원형은 아래와 같다.
void sqlglm( char* message_buffer, size_t * buffer_size, size_t * message_length); |
오류 메시지 출력하는 예제를 보겠다.
#include <sqlcpr.h> .... .... char msg_buf[512] = {0,}; size_t size_buf = 512; size_t msg_len = 0; EXEC SQL UPDATE USER_TBL SET AGE = '50' WHERE NAME LIKE '%Suzan%'; if( sqlca.sqlcode != 0 && sqlca.sqlcode != 1403 ) { sqlglm( msg_buf, &size_buf, &msg_len ); prinf(" error[%s] \n", msg_buf ); } |
반응형
'프로그램 > Pro*c' 카테고리의 다른 글
[Pro*c] sqlca 구조체 설명 ( 오류 처리 ) (0) | 2017.07.17 |
---|---|
[Pro*c] Connect, DisConnect (0) | 2016.11.22 |