ORACLE呼叫介面(OCI)簡介及重要函式流程介紹
【文章摘要】
對於實現使用者開銷戶的程式來說,與資料庫進行互動是必不可少的。為了實現使用者資料的存放、讀取、刪除等操作,我們需要頻繁地訪問資料庫,這就對資料庫的訪問模式提出了較高的要求。ORACLE資料庫具有系統可移植性好、使用方便、功能強等特點,因此在實際的軟體開發專案中使用得非常的廣泛。為了方便C語言程式操作ORACLE中的資料,ORACLE呼叫介面(OCI)應運而生。
本文首先簡單介紹了OCI的基本情況,然後對OCI中兩個重要的程式流程進行了一定的介紹。希望大家通過此文,能夠對OCI有一個大致的瞭解。
一、OCI簡介
在通常的情況下,大家是通過在客戶端(如PLSQL Developer)中輸入SQL語句來對資料庫中的資料進行操作的。那麼,如果我們想在C程式中實現對資料庫的操作,該如何處理呢?ORACLE資料庫提供了一個第三代程式設計語言的介面,使用者可以通過C語言來程式設計訪問資料庫。
OCI(Oracle Call Interface)就是為了實現高階語言訪問資料庫而提供的介面,它允許開發者使用高階語言來編寫程式,並通過該介面來訪問資料庫。
簡而言之,OCI是由一組應用程式開發介面(API)組成的,ORACLE提供API的方式是提供一組庫。在這組庫中,包含了一系列的函式呼叫,如連線資料庫、呼叫SQL等。
利用OCI,C程式訪問ORACLE資料庫的模式如圖1所示。
圖1 C程式訪問ORACLE資料庫的模式
二、OCI中常用函式簡介
OCI提供了一組完備的功能集合,可以實現建立資料庫連線、關閉資料庫連線、執行SQL語句或儲存過程、獲取SQL語句或儲存過程的執行結果、獲取資料庫空間大小等功能。
常用函式及其功能如表1所示(注:不同版本的OCI檔案中的函式名可能會不一樣,但功能都是一致的):
表1 OCI常用函式及其功能
三、OCI中重要函式流程介紹
為了讓大家瞭解OCI的流程,我們對OCI中兩個重要的函式流程進行分析。如果大家想要對OCI進行深入的理解,請閱讀OCI原始碼。
1 CreateDb流程
圖2 CreateDb流程
有關CreateDb流程,要注意在初始化資料庫連線之前,需要對程式進行加鎖處理,待結果集建立成功之後,再解鎖。
2.ExecuteSql流程
圖3 ExecuteSql流程
有關ExecuteSql流程,要注意在執行完SQL語句之後,要釋放本次的資料庫連線。
四、總結
OCI作為C程式訪問ORACLE資料庫的橋樑,為大家操作資料庫提供了很大的方便,這也算是ORACLE公司對軟體設計的一大貢獻了。對於開發應用軟體的程式設計師來說,做到會呼叫OCI提供的API也就足夠了。但是,如果大家想對OCI有比較深入的瞭解,還是要閱讀其原始碼,這裡提供一個原始碼下載的連結:http://download.csdn.net/detail/will___/4051884。