Oracle在Linux下的C開發

noter發表於2007-06-05
1.首先,要安裝Oracle客戶端(或在Linux下安裝好Oracle)

2.安裝Libsqlora8庫函式:

一般Oracle的C開發,是用OCI,C++開發,是用OCCI。安裝好Oracle客戶端後,就可以用OCI開發了。
Libsqlora8庫函式是GNU/Linux組織開發的針對Oracle8 OCI library的易用性C語言封裝。它將大量的OCI資料型別表現為通用C語言資料型別,將OCI函式按型別重新分類封裝,大大減少了函式的呼叫步驟和程 序程式碼量。Libsqlora8庫函式的網址是:http://www.poitschke.de/libsqlora8/ 可以到上面下載最新的包安裝。
download libsqlora8-2.3.0.tar.gz
//設定好ORACLE_HOME,LD_LIBRARY_PATH等環境變數
#tar zxvf libsqlora8-2.3.0.tar.gz
#./configure
#make
#make install

安裝好了。安裝完後,在/usr/local/share/doc/packages/libsqlora8下面,有完整的文件。

3.測試程式碼:

#include
#include
#include "sqlora.h"

static CONST char * _defuser="scott/tiger@oracledb";

int main(int argc,char **argv)
{
sqlo_db_handle_t dbh;
CONST char * cstr = _defuser;
char server_version[100];
if (SQLO_SUCCESS!= sqlo_init(SQLO_OFF,1,100))
{
printf("Failed to init libsqlora8/n");
return EXIT_FAILURE;
}
if (SQLO_SUCCESS != sqlo_connect(&dbh,cstr))
{
printf("Cannot login with %s /n",cstr);
return EXIT_FAILURE;
}
if (SQLO_SUCCESS != sqlo_server_version(dbh,server_version,sizeof(server_version)))
{
printf("Failed to get the server version: %s/n", sqlo_geterror(dbh));
return EXIT_FAILURE;
}
printf("Connected to:/n%s/n/n", server_version);
}

編譯執行:

#gcc -lsqlora8 test.c -o test
#./test

【來源】

相關文章