利用OCI调用存储过程失败 返回错误码06550
代码:
char* strSQL = "begin pro_expired_users; end;"; // 有参数跟没参数的存储过程都试过
res = OCIStmtPrepare(stmthp,errhp,textSQL,strlen((char*)textSQL),OCI_NTV_SYNTAX,OCI_DEFAULT );
// 如果是有参数的存储过程这里就OCIBindByPosXXX
OCIStmtExecute(svchp,stmthp,errhp,1,0,NULL,NULL, OCI_DEFAULT);
OCIErrorGet((dvoid *) errhp,(ub4) 1,(text *) NULL,&errcodep,(text *)errormsgbuf,(ub4) sizeof(errormsgbuf),(ub4) OCI_HTYPE_ERROR);
OCIStmtExecute返回-1,返回错误是
- errormsgbuf 0x0018edfc "ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 'PRO_EXPIRED_USERS' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored " char [512]