//文件1:cust_function.c
……
int isTrue = 0;
char sql_string[ 1024] = "" ;
sprintf( sql_string , "插入语句" );printf("AAA\n");isTrue= access_oracle_DB( sql_string );printf("CCC\n");
……//文件2:cust_access_oracle.cextern int access_oracle_DB( char * sMsg )
{
    int i;
    int errNo = 0;
    char sqlcmd[256]="";
    text errInfo[1024];
    MY_OCI_CONTEXT_T ociCtx;    i = oci_init(&ociCtx);     //初始化链接    TC_write_syslog("[DEBUG] access_oracle_DB oci_init=%d\n",i);    strcpy(sqlcmd,sMsg);dd
    oci_perform_data(&ociCtx,1110,sqlcmd);   //执行update/insert/delete sql语句
    if( i == 1 )
    {
        i = oci_clean(&ociCtx);
    }
    else
    {
        (void)OCIErrorGet ((dvoid*) ociCtx.ErrHP, (ub4) 1, (text *) NULL, &errNo,
                                errInfo, (ub4)sizeof(errInfo)-1, (ub4) OCI_HTYPE_ERROR);
        TC_write_syslog("[DEBUG] ErroNO=%d\nerrInfor=%s\n", errNo, errInfo);
        TC_write_syslog("[DEBUG] SQLcmd=%s\n", sqlcmd);
    }printf("BBB\n")
    return 0;
}static int oci_perform_data(MY_OCI_CONTEXT_T* ociCtx_p,int pid,char * sMsg)
{
    char sqlcmd[1024]="";
    sword retcode;
    char pointName[30];
    
    pointName[29]='\0';    //生成sql语句
    strcpy(sqlcmd,sMsg);
printf("[DEBUG] sqlcmd=%s \n",sqlcmd);
    //准备SQL语句
    retcode = OCIStmtPrepare (ociCtx_p->StmtHP, ociCtx_p->ErrHP, (unsigned char *)sqlcmd,
                      (ub4)strlen((char *)sqlcmd),
                      (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT
                      );
    
printf("[DEBUG] OCIStmtPrepare \n");
    if(retcode!=OCI_SUCCESS)
    {
      TC_write_syslog("[DEBUG] Error OCIStmtPrepare \n");
      printf("error OCIStmtPrepare \n");
      return -1;
    }    //执行SQL语句
    retcode=OCIStmtExecute(ociCtx_p->SvcHP, ociCtx_p->StmtHP, ociCtx_p->ErrHP, (ub4) 1, (ub4) 0,
                  (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT );printf("[DEBUG] OCIStmtExecute\n");
    //查错
    if(retcode!=OCI_SUCCESS)
    {
        int errNo = 0;
        retcode = OCIErrorGet ((dvoid*) ociCtx_p->ErrHP, (ub4) 1, (text *) NULL, &errNo,
                                (text*)pointName, (ub4)sizeof(pointName)-1, (ub4) OCI_HTYPE_ERROR);        TC_write_syslog("[DEBUG] Error OCIStmtExecute No=%d Info=%s \n", errNo, pointName);
        printf("Error OCIStmtExecute No=%d Info=%s \n", errNo, pointName);
        return -1;
    }

retcode = OCITransCommit(ociCtx_p->SvcHP, ociCtx_p->ErrHP, 0);

printf("[DEBUG] OCITransCommit\n");
if(retcode!=OCI_SUCCESS)
{
      TC_write_syslog("[DEBUG] SQL statement TransCommit failed[%d]:%s\n",retcode,sqlcmd);
printf("SQL statement TransCommit failed[%d]:%s\n",retcode,sqlcmd);
return -1;
}
    return 1;
}这段代码的意思是在cust_function.c文件中构造一条sql语句,然后调用cust_access_oracle.c中的函数来执行,可是现在的问题是,输出语句"AAA"、“BBB”都正常输出,可是“CCC”就是不执行,oci_perform_data函数中的输出也都正常输出了,没有报错,请高手们帮着看看,实在搞不懂了!!!!!!