c 语言使用ocilib连接 orale数据库

来源:互联网 发布:网络骗术有那些 编辑:程序博客网 时间:2024/06/07 06:22

因为需求 看了一下使用c语言连接oracle 的方法,不过网上 资料太少了,所以写篇博客记录一下。

之前看了一下OCI,用C语言调OCI的api 太难理解了,之后看到网上有一个 OCILIB,是OCI的封装而且 操作起来并不是那么难于理解,就拿来用了。

附上OCILIB的下载地址http://orclib.sourceforge.net/download/


开发环境: vc++ 6.0 , OCILIB 3.8.0

过       程

1.tools->options->show directories for include files   

将OCILIB的INCLUDE 添加到此。

2.tools->options->show directories for Library files

将OCILIB的LIB目录添加至此。

3.将OCILIB的LIB目录下的*.dll复制到系统根目录(32位系统请复制到C:\Windows\System32||64位请复制到C:\Windows\SysWOW64)。

4.vc++中新建工程 ,并在project ->settings  link加上对应的lib

ociliba.lib  ocilibm.lib  ocilibw.lib 分别对应 数据库对应字符集为(ANSI / UTF8 version||UNICODE/UFT16/USC2/wchar_t version||ANSI / UTF8 for meta data)

到此开发环境搭建完毕。

示例代码

<span style="font-size:18px;">#include "stdafx.h"#include <stdlib.h>#include <ocilib.h>#pragma comment(lib,"ocilibm.lib")int main(int argc, char* argv[]){clock_t start,end;    OCI_Connection *cn;    start=clock();if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT|OCI_ENV_CONTEXT))return EXIT_FAILURE;    cn = OCI_ConnectionCreate("*****表名****", "****用户名****", "****密码*****", OCI_SESSION_DEFAULT);OCI_Statement * st;st = OCI_StatementCreate(cn); int nRet =0;OCI_ExecuteStmt(st, "****sql语句**");    OCI_Resultset *rs;    int rownumber=0;rs = OCI_GetResultset(st);int rowcount=OCI_GetRowCount(rs);for (int i=0;OCI_FetchNext(rs);i++){number1[i]=OCI_GetInt(rs,1);number2[i]=OCI_GetInt(rs,2);number3[i]=OCI_GetInt(rs,3);rownumber++;}    OCI_Break(cn);OCI_Cleanup();}</span>


0 0
原创粉丝点击