65,170
社区成员




//ocicaozuo.h
#include <oci.h>
#pragma comment(lib,"oci.lib")
#pragma comment(lib,"oraocci11.lib")
#pragma comment(lib,"kpucb.lib")
#pragma comment(lib,"ociw32.lib")
//ocicaozuo.cpp
sword swResult = OCIEnvCreate(&env,OCI_DEFAULT,NULL,NULL,NULL,NULL,0,NULL);
if (swResult != OCI_SUCCESS && swResult != OCI_SUCCESS_WITH_INFO)
{
TRACE("Oracle init server error\n");
return false;
}
OCIHandleAlloc((dvoid *)env,(dvoid **)&err,OCI_HTYPE_ERROR,(size_t)0,(dvoid **)0);
OCIHandleAlloc((dvoid *)env,(dvoid **)&serv,OCI_HTYPE_SERVER,(size_t)0,(dvoid **)0);
string sever = "orcl241";
if (OCIServerAttach(serv,err,(text *)sever.c_str(),strlen(sever.c_str()),0) != OCI_SUCCESS)
{
int errcno;
char errbuf[512]= "";
sb4 errcode;
//获取错误指针和OCI错误代码
OCIErrorGet((dvoid *)err,(ub4)1,(text *)NULL,&errcode,(ub1*)errbuf,(ub4)sizeof(errbuf),OCI_HTYPE_ERROR);
errcno = errcode;
TRACE("Oracle server attach error\n");
OCIHandleFree((dvoid *)env,OCI_HTYPE_ENV);
OCIHandleFree((dvoid *)serv,OCI_HTYPE_SERVER);
OCIHandleFree((dvoid *)err,OCI_HTYPE_ERROR);
return false;
}
TRACE("Oracle server attach success");
return true;