Oracle在Linux下的C开发
[ 2005/01/19 22:32 | by ipaddr ]
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 <stdio.h>
#include <stdlib.h>
#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
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
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 <stdio.h>
#include <stdlib.h>
#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
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>