1 Reply Latest reply on Mar 18, 2020 4:05 AM by cj

    OCIBreak() and OCIReset() not correct work in Windows. How

    4182438

      Hi, everyone.
      Me need some help with Oracle OCI driver.

       

      sword result = OCIStmtExecute(ptrOCIServiceContext, ptrOCIStatement, ptrOCIError, 1, 0, (OCISnapshot*)0, (OCISnapshot*)0, OCI_COMMIT_ON_SUCCESS);
      if (result == OCI_STILL_EXECUTING) 
      {                                
           std::cout << "GET OCI_STILL_EXECUTING" << std::endl;     
           if (text errbuf[1024]; (OCIErrorGet(ptrOCIError, 1, (text*)NULL, &error.first, errbuf, sizeof(errbuf), OCI_HTYPE_ERROR) == OCI_SUCCESS))    
           {     
                error.second = std::string(errbuf, errbuf + size(errbuf));     
           }     
           result = OCIBreak(ptrOCIServiceContext, ptrOCIError);// return 0 ,but it do nothing     
           result = OCIReset(ptrOCIServiceContext, ptrOCIError); // blocking my work thread, while(true) for return callback, not result!!!
      }