Pro*C에 대하여

_021119·2021년 4월 13일
0

Etc

목록 보기
1/2

SQL은 절차형 언어가 아니다. 그래서 오라클은 PL/SQL이라는 절차형 언어를 제공한다. 하지만 PL/SQL은 오라클 내부에서 실행되는 프로그램이고, 때문에 오라클 내부라는 한정된 공간에서만 실행된다.

이를 해결하기 위해 대부분의 DBMS는 외부 C프로그램에서 DB관련 로직을 짤 수 있게 선행 컴파일러(PreCompiler)를 제공한다.

오라클에서 제공해주는 선행 컴파일러를 PRO*C라고 한다. 즉 C언어를 이용해서 오라클 데이터베이스를 사용하기 위한 언어이다!

PROC는 다른 언어들과 달리 ProC만으로는 실행파일을 만들어 낼 수 없다.
Pro*C 파일(.pc)파일은 컴파일 되어 C 프로그램 파일(.C)을 만들어 낸다. 그 이후는 C프로그램과 똑같다.


ProC를 이용해서 아래와 같이 DB관련 함수 라이브러리를 만들어서 C코드에서 불러서 사용한다. C코드와 똑같은데 EXEC SQL과 같이 ProC코드가 섞여있음을 볼 수 있다.

컴파일과정

fileName.pc → fileName.c → fileName.o > fileName*
(생성된 오브젝트 파일을 링크해서 실행파일을 만드는 과정)

[파일명].pc파일 생성 후 pc파일이 있는 디렉토리에서 procmake [파일명] 실행.
bin 폴더에 [파일명]* →파일 생성됨.

profile
내가 정리하고 싶어서 쓰는 로오그

0개의 댓글