Pro*c DB 접속, 접속 해제
Pro*c?
오라클을 접근 및 제어를 위한 라이브러리 이다.
*.pc 파일로 만들어 오라클에서 제공하는 선행 컴파일러를 실행하면 .c로 변환시켜 주며
이것을 gcc로 컴파일 하여 실행 파일인 오브젝트를 생성하여 오라클 제어 프로그램을 만들 수 있다.
DB 접속 방법
이제 DB 접속 하는 방법과 예제를 살펴 보면서 Pro*c 사용 방법을 익히도록 하겠다.
EXEC SQL CONNECT :userId IDENTIFIED BY :userPw; |
위와 같은 명령어를 사용해 DB에 접속 할 수 있다.
이후 DML ( SELECT, UPDATE... 등) 실행이 가능하다.
아래 접속 예제입니다.
#include <stdio.h> EXEC SQL include sqlca.h; #define SQL_CODE sqlca.sqlcode #define SQL_NOT_FOUND 1403 #define SQL_SUCCESS 0 typedef enum { false, true }Boolean; //성공,실패 Boolean ConnectDB() { EXEC SQL BEGIN DECLARE SECTION; VARCHAR userId[50]; VARCHAR userPw[50]; EXEC SQL END DECLARE SECTION; strcpy(userId.arr,"identify"); userId.len = strlen(userId.arr); strcpy(userPw.arr,"password"); userId.len = strlen(userPw.arr); EXEC SQL CONNECT :userId IDENTIFIED BY :userPw; if (SQL_CODE != SQL_SUCCESS) { return false; } return true; } |
DB 접속 해제
이제 DB 접속 해지 하는 방법은 아래와 같습니다.
EXEC SQL COMMIT WORK RELEASE; |
프로그램 종료 전에는 항상 DB접속을 해제 시켜 주도록 합시다.
아래 접속 예제입니다.
#include <stdio.h> EXEC SQL include sqlca.h; #define SQL_CODE sqlca.sqlcode #define SQL_NOT_FOUND 1403 #define SQL_SUCCESS 0 typedef enum { false, true }Boolean; //성공,실패 Boolean ConnectDB() { EXEC SQL BEGIN DECLARE SECTION; VARCHAR userId[50]; VARCHAR userPw[50]; EXEC SQL END DECLARE SECTION; strcpy(userId.arr,"identify"); userId.len = strlen(userId.arr); strcpy(userPw.arr,"password"); userId.len = strlen(userPw.arr); EXEC SQL CONNECT :userId IDENTIFIED BY :userPw; if (SQL_CODE != SQL_SUCCESS) { return false; } return true; } Boolean CloseDB() { EXEC SQL COMMIT WORK RELEASE; } void main(void) { ConnectDB(); CloseDB(); } |
'프로그램 > Pro*c' 카테고리의 다른 글
[Pro*c] sqlglm 함수를 이용한 오류 메시지 출력 하기 (0) | 2017.07.18 |
---|---|
[Pro*c] sqlca 구조체 설명 ( 오류 처리 ) (0) | 2017.07.17 |