OCI调用存储过程

本文详细介绍了如何使用OCI(Oracle Call Interface)调用存储过程,包括设置SQL语句、分配内存、绑定变量和执行过程。通过示例代码展示了如何处理可能的NULL值,以及ociDefineByPos函数中指示器变量的作用。
摘要由CSDN通过智能技术生成

OCI调用存储过程:


std::string sql_proc = "BEGIN com_bos.getmembers(:out_result); END;";

  OCIStmt* pStmt = NULL;
OCIStmt* pCur = NULL;
sb2* pIndicator0 = 0;
sb2* pIndicator1 = 0;
sb2* pIndicator2 = 0;
sb2* pIndicator3 = 0;
sb2* pIndicator4 = 0;
sb2* pIndicator5 = 0;
sb2 pIndicator6 = -1; //这是一个指示器变量,就是这个表的这一列可以为NULL值,为了保证调用不返回错,这个地方赋值-1;
OCIBind* pBind = NULL;


OCIDefine* pOciDefine1 = NULL;
OCIDefine* pOciDefine2 = NULL;
OCIDefine* pOciDefine3 = NULL;
OCIDefine* pOciDefine4 = NULL;
OCIDefine* pOciDefine5 = NULL;
OCIDefine* pOciDefine6 = NULL;
std::string strMemberNo;
std::string strCompany;
std::string strName;
std::string strAddress;
std::string strPhone;
std::string strWebsite;


strMemberNo.resize(10);
strCompany.resize(200);
    strName.resize(100);
strAddress.resize(1000);
strPhone.resize(100);
strWebsite.resize(1000);


do 
{
if ( CheckError(OCIHandleAlloc(m_pEnvHandle,(dvoid**)&pStmt,OCI_HTYPE_STMT,0,NULL)))
{
break;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值