打印一下错误信息
sb4 errno;
text errbuf[512]; OCIErrorGet((dvoid*)errhp, (ub4)1, NULL, &errno, errbuf, (ub4)sizeof(errbuf), OCI_HTYPE_ERROR);
printf("OCI failed: %s\n", errbuf);
sb4 errno;
text errbuf[512]; OCIErrorGet((dvoid*)errhp, (ub4)1, NULL, &errno, errbuf, (ub4)sizeof(errbuf), OCI_HTYPE_ERROR);
printf("OCI failed: %s\n", errbuf);
OCIError *errhp;
OCIServer *srvhp;
OCISvcCtx *svchp;
OCIStmt *stmthp;
OCIDefine *defhp; error_proc(OCIEnvCreate(&envhp, OCI_DEFAULT, (dvoid*)0, NULL, NULL, NULL, 0, (dvoid **)0));
if (status) return false;
error_proc(OCIHandleAlloc((dvoid*)envhp, (dvoid**)&errhp, OCI_HTYPE_ERROR, (size_t)0, (dvoid**)0));
if (status) return false;
error_proc(OCIHandleAlloc((dvoid*)envhp, (dvoid**)&srvhp, OCI_HTYPE_SERVER, (size_t)0, (dvoid**)0));
if (status) return false;
error_proc(OCIHandleAlloc((dvoid*)envhp, (dvoid**)&svchp, OCI_HTYPE_SVCCTX, (size_t)0, (dvoid**)0));
if (status) return false;
error_proc(OCIAttrSet((dvoid*)svchp, OCI_HTYPE_SVCCTX, (dvoid*)srvhp, (ub4)0, OCI_ATTR_SERVER, (OCIError*)errhp));
if (status) return false;
//*****maybe should allocate before every executement
error_proc(OCIHandleAlloc((dvoid*)envhp, (dvoid**)&stmthp, OCI_HTYPE_STMT, (size_t)0, (dvoid**)0));
if (status) return false;