Oracle Client Programming: OCI (Oracle Call Interaface)

|

생전 Oracle 사용은 딱 두번 해봤는데, 처음에는 정말 멋도 모르던 사회 초년생(즈음) 시절. 팀장이 프로젝트를 딱 던져주면서 '오라클은 그냥 pro*c를 쓰면 되' 라고 해서 그냥 아 그렇구나 하고 작업해봤고. 이게 ProC이던 pro*c이던 뭐 중요한건 그게 아니니까.
두번째는 머리가 좀 굵어졌을 시절 다른 회사에서, 또 팀장이 프로젝트를 딱 던져주면서 이걸 써봐 하면서 줬던 것이 orapp. 아무도 모르는, 그냥 2004년 이후로 업데이트 조차 되지 않고 있는 바로 그 이상한 라이브러리.

2007/07/11 - [프로그래밍/Library, Utility, ETC] - Oracle Client Programming: ORAPP

언젠가는 요 orapp가 뭘로 만들어졌나 까보려고 했었는데 미루다미루다 한번 까봤더니, 이런게 나오더군. OCI. Oracle Call Interface라고 불리는 놈인데, 나름 인지도도 있고 사용하는 사람들도 꽤 많은 모양. (그러니까 나만 모르는거.) DB Interface야 별 관심이 없긴 했지만 그래도 뭐. 딴 세상 같다는 느낌이랄까.

pro*c는 참 단점이 많다. 요컨데, 소스 위에서 precomfiler가 한번 도는 구조 자체가 에러. (이건 무슨 php도 아니고.) 여기에 대해서는 이전에 주절주절 적어놓은 것으로 대체.

참고 사이트 : http://linuxcpp.tistory.com/entry/ProC보다-쉬운-OCCIOracle-C-Call-Interface-프로그래밍 (OCI가 아니라 OCCI, 그러니까 Oracle C++ Call Interface를 설명하고 있다. pro*c의 단점에 대한 부분은.. 클래스와 쓰레드 관련된 부분이야 별로 관심 밖이니 그다지 공감가진 않지만 방향성에 대해서는 공감. C에서도 pro*c를 쓰는 것은 문제가 있다고 생각하고. pro*c가 C의 유산이라기 보다는 SQL에 익숙했던 초기 DB 클라이언트 프로그램 개발자들의 유산이라고 생각함. OCI가 어렵다는 이야기는 뭐 잘 모르겠고. C 환경이면 OCI를, C++ 환경이라면 OCCI를 쓰는 것이 pro*c보단 나을거라는 의견으로 동의.)

참고 사이트 : http://download.oracle.com/docs/cd/B14117_01/appdev.101/b10779/toc.htm (oracle 사이트에서 찾은 OCI 레퍼런스. 참 많기도 하다. 이런 레퍼런스의 단점은 쓸모 없는 정보가 너무 많다는 것. 그렇다고 다 찾아서 보기에는 양이 너무 많다.)

참고 사이트 : http://www.mcs.csueastbay.edu/support/oracle/doc/10.2/server.102/b14257/ap_oci.htm (찾아본 OCI 예제, 인데. 그냥 노멀한 OCI 예제는 아닌것 같고, Streams Advanced Queuing과 관련된 예제인듯. 메시지를 큐에 집어넣고 어쩌고 하는걸 보니 트렌젝션 관리랑 연관이 있는것 같기도 하고. 어쨌든 첨부.)

참고 사이트 : http://lists.suse.com/archive/suse-oracle/2000-Mar/0106.html (오. 이것은 좀 더 초급적인 OCI 예제. 아래쪽 첨부 파일을 다운로드 받으면 된다. 혹시나 몰라 파일은 다운로드 받아서 재업로드. 출처는 밝혔으니 상관 없겠지.)


이정도면 참고할 만 할듯.
언제 시간나면 하나씩 까봐야지.

And