c 连接oracle的dll

您是否有遇到在C语言中连接Oracle的问题?在这篇文章中,将会详细介绍如何在C语言中连接并使用Oracle数据库。在C语言中使用Oracle需要使用 Oracle官方提供的OCI(Oracle Call Interface)连接库和头文件,OCI库是一个动态链接库,包含了许多可以在 C/C++程序中调用的接口函数,使用这些接口函数可以很方便地连接Oracle数据库。

使用OCI连接Oracle需要准备一个头文件:OCI.h,以及一个OCI库:OCI32.lib,我们需要将这两个文件复制到对应的目录中,并在程序中引用这些文件。

在代码中,需要初始化和建立连接,OCI的连接函数是OCIEnvCreate来创建一个环境,OCIEnvCreate需要指定连接模式和OCI初始化选项。请看下面代码实例:

int main(int argc, char* argv[]) { OCIEnv* env_hp = NULL; if (OCIEnvCreate(&env_hp, OCI_DEFAULT, NULL, NULL, NULL, NULL, 0, NULL)) { return -1; } OCISvcCtx* svc_hp = NULL; OCIError* err_hp = NULL; OCIServer* srv_hp = NULL; if (OCIHandleAlloc((void*)env_hp, (void**)&err_hp, OCI_HTYPE_ERROR, 0, NULL)) { return -2; } OCIHandleAlloc((void *)env_hp, (void **)&srv_hp, OCI_HTYPE_SERVER, 0, NULL); OCIServerAttach(srv_hp, err_hp, (OraText *)"//localhost:1521/ORCL"); if (OCIHandleAlloc((void*)env_hp, (void**)&svc_hp, OCI_HTYPE_SVCCTX, 0, 0)) { return -3; } if (OCIAttrSet((void*)svc_hp, OCI_HTYPE_SVCCTX,(void*)srv_hp, (ub4)NULL, OCI_ATTR_SERVER, err_hp)) { return -4; } }