Example #1
0
//-----------------------------------------------------------------------------
// ExternalLobVar_InternalRead()
//   Return the size of the LOB variable for internal comsumption.
//-----------------------------------------------------------------------------
static int ExternalLobVar_InternalRead(
    udt_ExternalLobVar *var,            // variable to return the size of
    char *buffer,                       // buffer in which to put data
    ub4 bufferSize,                     // size of buffer
    ub4 *length,                        // length of data (IN/OUT)
    int offset)                         // offset
{
    sword status;

    if (var->lobVar->isFile) {
        Py_BEGIN_ALLOW_THREADS
        status = OCILobFileOpen(var->lobVar->connection->handle,
                var->lobVar->environment->errorHandle,
                var->lobVar->data[var->pos], OCI_FILE_READONLY);
        Py_END_ALLOW_THREADS
        if (Environment_CheckForError(var->lobVar->environment, status,
                "ExternalLobVar_FileOpen()") < 0)
            return -1;
    }
Example #2
0
void BfileFileIsOpen_proc(OCILobLocator *Bfile_loc, OCIEnv *envhp,
                          OCIError *errhp, OCISvcCtx *svchp, OCIStmt *stmthp)
{ 
  boolean flag;

  printf ("----------- OCILobFileIsOpen Demo --------------\n"); 
  checkerr(errhp, OCILobFileOpen(svchp, errhp, Bfile_loc, 
                                 (ub1)OCI_FILE_READONLY));
  
  checkerr(errhp, OCILobFileIsOpen(svchp, errhp, Bfile_loc, &flag));
  
  if (flag == TRUE)
  {
    printf("File is open\n");
  }
  else
  {
    printf("File is not open\n");
  }
  
  checkerr(errhp, OCILobFileClose(svchp, errhp, Bfile_loc));
}