오라클 호출 인터페이스

컴퓨팅에서 오라클 호출 인터페이스(Oracle Call Interface, OCI)는 C 언어 소프트웨어 API 집합으로 오라클 데이터베이스에 대한 인터페이스를 제공한다.

OCI는 시스템 시작 및 종료와 같은 특정 데이터베이스 관리 작업을 수행할 뿐만 아니라 PL/SQL 또는 SQL을 사용하여 데이터를 쿼리, 액세스 및 조작하기 위한 절차적 API를 제공한다. 오라클의 문서화되지 않은 사용자 프로그래밍 인터페이스(UPI)를 기반으로 하는 OCI 라이브러리는 애플리케이션과 저수준 데이터베이스 네트워크 프로토콜 간의 "통역자" 역할을 한다.

 역사 
오라클은 1988년 오라클 데이터베이스 버전 6에서 OCI(HLI, 호스트 언어 인터페이스라는 이름으로)를 처음 출시했다. HLI(및 이후 OCI)가 UPI의 래퍼로 작동했기 때문에 원래 명명 규칙은 기반이 된 UPI 호출과 매우 유사했다. 예를 들어, 롤백 문: UPI의 호출 upirol은 OCI에서 orol이 되었다.

이후 1997년에 출시된 오라클8에서 OCI 호출은 더 설명적인 이름을 얻었다. orol은 OCITransRollback이 되었다. 2007년에 출시된 11g를 포함하여 모든 OCI 버전에서 후속 개선이 이루어졌다. 오라클 (기업)은 OCI가 "오라클 데이터베이스의 모든 SQL 문이 OCI로 실행될 만큼 신뢰할 수 있다"고 주장한다.

 구현 
OCI는 오라클 외에도 여러 다른 공급업체에서 OCI API와 호환되는 자체 라이브러리를 구현할 정도로 인기가 많다. 현재 ANTs 데이터 서버(ADS), EnterpriseDB, Linter SQL RDBMS용 OCI 호환 라이브러리가 존재한다.

 OCI 기반 라이브러리 
OCI를 기반으로 하는 여러 라이브러리는 다음과 같다:

 오라클의 Type-II JDBC 드라이버(부분 자바, 부분 네이티브)
 오라클의 향상된 C++ 라이브러리, Oracle C++ Call Interface (OCCI)는 오라클 데이터베이스의 객체-관계형 기능과 함께 객체 지향 인터페이스를 제공한다.
 오라클의 OLE DB 드라이버
 오라클의 ODBC 드라이버
 오라클의 .NET 데이터 공급자, ODP.NET
 마이크로소프트의 오라클용 ODBC 드라이버
 이지소프트의 ODBC-오라클 드라이버
 트롤테크의 Qt C++ 툴킷 OCI 드라이버(QOCI)

OCI API의 복잡성으로 인해 다음과 같은 사용하기 더 쉬운 여러 OCI 래퍼 라이브러리도 존재한다.

 오픈 소스 libsqlora8 라이브러리(사용 중단됨).
 오픈 소스 Ocilib 라이브러리.
 오픈 BSD 라이선스 오라클 템플릿 라이브러리 OTL 라이브러리.

 각주 

 외부 링크 

 오라클 호출 인터페이스 FAQ
 공개 OCI 지원 포럼 (OTN) 

분류:오라클 소프트웨어