LINUX/ABOUT LINUX

[Linux] OCI (Oracle Call Interface)

옐옐루 2022. 10. 28. 15:41

OCI란?

 

Oracle call Interface

맞춤형 패키지 애플리케이션을 위한

오라클 데이터베이스에 대한 포괄적인

고성능 네이티브 C언어 인터페이스 이다. 

 


구글링을 통해 oci 를 치면 2가지가 나오는데, 하나는 oracle call interface 이고 하나는 Oracle Cloud Infrastructure 이다 이 두개는 다른 것이니 구분 할 것 .

Oracle Cloud Infrastructure은 클라우드 서비스를 구현하기 위해 필요한 기본적인 인프라 환경, 즉 컴퓨터 서버, 네트워크 , 스토리지, 보안, 자원 관리 등을 포함하는 오라클 클라우드 기반 환경을 의미하는것. 

 

사실 Oracle Call Interface 는 구글링을 해도 잘 나오지 않는다. 영문 pdf를 번역하면서 내용을 이해하는 것 밖에 답이 없는 상황. 그럼에도 불구하고 oci 접속방식을 통해 sql을 실행시키는 법을 간단하게 예제로 풀어보고자 한다. 

Makefile을 생성하는것이 익숙하지 않기 때문에 이번 차트에서는 쉘스크립트를 통해 컴파일 하는 방식을 써보려 한다. 

 


 

1. OCI를 테스트 할 디렉토리를 생성해준다

  **나는 $ORACLE_HOME 즉 /app/oracle/product/19.0.0/db_home_1 에 ocitest 라는 디렉토리를 생성했다 

# su - oracle (오라클 계정 접속후 진행) 

 

2. OCI 헤더들이 있는 경로를 파악해준다

 예전버전에는 $ORACLE_HOME/rdbms/demo 아래에 존재했지만 이 디렉토리가 없을 경우엔   $ORACLE_HOME/rdbms/public 아래에 있을 수도 있다. 나는 후자의 경로에 oci 헤더파일이 생성되어 있었음 

 

oci 헤더파일들

 

3. 컴파일을 시켜줄 sh(쉘) 파일 생성

  * 나는 main 이라는 이름으로 쉘파일을 작성함 

$ vi main.sh (쉘 만들기) 

쉘 안에 oci 헤더파일 경로를 잘 생각해서 다음과 같은 내용을 넣어주자 

4. c 파일을 생성하여 sql 접속 및 쿼리 실행이 가능한 c 언어 파일을 만들자

 * 나는 main.c 라는 이름으로 c 파일 작성 

$ vi main.c (c 파일 만들기) 

 

 

 

5. 쉘파일 컴파일 해주기 

$ bash main.sh (쉘파일 컴파일 하는 명령어) 

  * 초록색 main 이라는 아이가 생성 되었으면 잘 컴파일 된 것

 

 

6. main 실행시키기 

$ ./main (컴파일된 파일 실행하기) 

 

 

 

반응형