ORADBI是我在Oracle OCI(Oracle 調用介面)基礎上開發的,支援Oracle8i、9i、10g等資料庫。根據Oracle公司的介紹:OCI是如此可靠,以至於Oracle資料庫中的每一條SQL語句都通過OCI來執行。當應用程式開發人員需要面向Oracle資料庫伺服器的最強大的介面時,他們將調用 Oracle調用介面(OCI)。OCI提供了對所有Oracle資料庫功能的最全面的訪問。OCI API中包含了最新的效能、延展性和安全性特性。
採用OCI的最大好處就是:它是最切近Oracle底層的技術,因此,效率是最高的。同時,它是跨平台的。因此,在我給出的ORADBI庫,除了OCI之外,沒有其他外部依賴,稍加改動,就可以移植到非Windows平台上或其他嵌入式平台。
然而,OCI也比較不容易使用。它的功能之強,粒度之細,文法之煩瑣,都不適合今天熟悉了快速開發模式的人員使用。然而,OCI的高效,直接根植於資料庫核心,跨平台的語言特性,是其他如OO4O、OLEDB、ADO等COM方式不具備的。我最初開發Oralce資料庫是4年以前,使用的是OO4O。直到最近,使用OCI成了我的愛好。於是,寫了一套OCI的Helper庫,方便OCI的使用。我不敢說是OCI的Wrapper庫,因為我沒能力封裝OCI的方方面面。然而,我的ORADBI已經足夠我(可能也包括你們)日常使用了。我就是用這套ORADBI操縱BLOB等大資料欄位的。
公布這套ORADBI庫,沒有任何商業上的風險:我擁有這個庫的全部著作權,任何個人或團體可以為任何目的免費地、無限制地使用ORADBI庫,前提是不能聲明對ORADBI庫的著作權。對使用ORADBI庫所造成的任何後果,我不負任何責任。如果這套軟體對您的工作產生了很大的協助,我不拒絕任何您的資助。
好了,讓我們概覽一下這個庫,它包含下列檔案:
.h檔案 .c檔案
oradbi.h* oradbi.c
oracol.h oracol.c
oraconn.h oraconn.c
oradate.h oradate.c
oraerr.h oraerr.c
oraparam.h oraparam.c
orarows.h orarows.c
orastmt.h orastmt.c
oratype.h
unistd.h
list.h list.c
hashmap.h hashmap.c
其中,oradbi.h是你唯一需要包含的標頭檔。當把ORADBI作為動態庫串連到你的工程裡使用時,你在你的項目裡加入類似下面的代碼:
// test.cpp
#include "../oradbi/oradbi.h"
#ifdef _DEBUG
#pragma comment(lib, "../oradbi/debug/oradbid.lib")
#else
#pragma comment(lib, "../oradbi/release/oradbi.lib")
#endif