OOPEN Hangs in OCI C program

Hi All,
I encounter a problem with "oopen" OCI function. The program hangs while executing the function. Prior to this the program calls "orlon" function to connect to the Oracle 9i database and it goes through fine. The C program is executed in AIX box and connects to a Oracle9i database. The same code works in a Windows machine against both Oracle 9i & 8i databases. I am not able to understand why is this happening.
This is urgent and need to be resolved as soon as possible.Any help would be greatly appreciated.
Thanks,
Satya S.

Did U solve this ..?? Else code snippet please

Similar Messages

  • Kgefec:fatal error0; OCI-21503:program terminated by fatal error; OCI-04030

    Hi expert,
    I've hit the following errors when I tried to start my application using the corbaloc call:- Would appreciate your expertise adv and helps, please~!
    dlys_storage_prep_srvr -ename INT -pname DLYS_PREP_SRVR -ORBInitRef NameService=corbaloc:iiop:uxkulaix01:19001/NameService -ORBInitRef ImplRepoService=corbaloc:iiop:uxkulaix01:19002/ImplRepoService -ORBInitRef LoadManager=corbaloc:iiop:uxkulaix01:19007/LoadManager -ORBUseIMR 1 -instance DLYS_PREP_SRVR_2 -phaseID 1 -jobID 2109 -requestID 0 -scheduleUser SYSTEM
    kgefec: fatal error 0
    kgefec: fatal error 0
    kgefec: fatal error 0
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 512 bytes (Alloc statemen,pref col alloc)
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 224 bytes (Alloc statemen,pref col alloc)
    kgefec: fatal error 0
    kgefec: fatal error 0
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 272 bytes (Alloc statemen,pref col alloc)
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 176 bytes (Alloc statemen,pref col alloc)
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 392 bytes (Alloc statemen,pref col alloc)
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 272 bytes (Alloc statemen,pref col alloc)
    kgefec: fatal error 0
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 176 bytes (Alloc statemen,pref col alloc)
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 392 bytes (Alloc statemen,pref col alloc)
    ----- Call Stack Trace -----
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 512 bytes (Alloc statemen,pref col alloc)
    ----- Call Stack Trace -----
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 224 bytes (Alloc statemen,pref col alloc)
    calling call entry argument values in hex
    ----- Call Stack Trace -----
    location type point (? means dubious value)
    calling call entry argument values in hex
    calling call entry argument values in hex
    location type point (? means dubious value)
    location type point (? means dubious value)
    ----- Call Stack Trace -----
    kgefec: fatal error 0
    ----- Call Stack Trace -----
    calling call entry argument values in hex
    calling call entry argument values in hex
    location type point (? means dubious value)
    location type point (? means dubious value)
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 536 bytes (Alloc statemen,pref col alloc)
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 656 bytes (Alloc statemen,pref col alloc)
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 536 bytes (Alloc statemen,pref col alloc)
    ----- Call Stack Trace -----
    Errors in file :
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 656 bytes (Alloc statemen,pref col alloc)
    calling call entry argument values in hex
    location type point (? means dubious value)
    ----- Call Stack Trace -----
    calling call entry argument values in hex
    location type point (? means dubious value)
    kgefec: fatal error 0
    OCI-21503: program terminated by fatal error
    OCI-04030: out of process memory when trying to allocate 296 bytes (Alloc statemen,pref col alloc)
    SQL> SQL> select * from v$pgastat;
    NAME VALUE UNIT
    aggregate PGA target parameter 314572800 bytes
    aggregate PGA auto target 243984384 bytes
    global memory bound 62914560 bytes
    total PGA inuse 43478016 bytes
    total PGA allocated 85145600 bytes
    maximum PGA allocated 85963776 bytes
    total freeable PGA memory 15204352 bytes
    process count 50
    max processes count 51
    PGA memory freed back to OS 10616832 bytes
    total PGA used for auto workareas 0 bytes
    NAME VALUE UNIT
    maximum PGA used for auto workareas 155648 bytes
    total PGA used for manual workareas 0 bytes
    maximum PGA used for manual workareas 0 bytes
    over allocation count 0
    bytes processed 30577664 bytes
    extra bytes read/written 0 bytes
    cache hit percentage 100 percent
    recompute count (total) 516
    19 rows selected.
    # Instance Identification
    instance_name=ICTINT
    # Database Identification
    db_domain=""
    db_name=ICTINT
    # Cache and I/O
    db_block_size=8192
    db_cache_advice=ON
    db_keep_cache_size=0
    #db_file_multiblock_read_count=32
    #db_writer_processes=4
    db_files=200
    disk_asynch_io=FALSE
    filesystemio_options=NONE
    # Optimizer Settings
    optimizer_index_caching=50
    optimizer_index_cost_adj=50
    optimizer_mode=FIRST_ROWS_1000
    query_rewrite_enabled=TRUE
    star_transformation_enabled=FALSE
    # Cursors and Library Cache
    open_cursors=1500
    cursor_sharing=FORCE
    cursor_space_for_time=TRUE
    # Diagnostics and Statistics
    background_dump_dest=/emcoracle/admin/ICTINT/bdump
    core_dump_dest=/emcoracle/admin/ICTINT/cdump
    user_dump_dest=/emcoracle/admin/ICTINT/udump
    timed_statistics=TRUE
    # File Configuration
    control_files=("/oradata/ICTINT/data/control/control_01.ctl",
    "/oradata/ICTINT/index/control/control_02.ctl")
    # Job Queues
    job_queue_processes=10
    # Miscellaneous
    aq_tm_processes=1
    compatible=10.2.0
    log_checkpoints_to_alert=TRUE
    recyclebin=OFF
    # Pools
    #java_pool_size=0
    #large_pool_size=16777216
    #shared_pool_size=524288000
    sga_max_size=2G
    sga_target=2G
    # Processes and Sessions
    processes=250
    # Redo Log and Recovery
    fast_start_mttr_target=300
    # Security and Auditing
    remote_login_passwordfile=EXCLUSIVE
    audit_file_dest=/emcoracle/admin/ICTINT/audit
    #audit_trail=true
    # Sort, Hash Joins, Bitmap Indexes
    pga_aggregate_target=100M
    workarea_size_policy=AUTO
    # System Managed Undo and Rollback Segments
    undo_management=AUTO
    undo_retention=900
    undo_tablespace=UNDOTBS1
    # Archiving
    #log_archive_start=TRUE
    #log_archive_dest_1='location=${ARCHIVELOG}'
    log_archive_format=ICT_%d_ARC_%t_%s_%r.arc

    That error means that Oracle is not allowed to allocate the memory by the operating system.
    This is not a bug of Oracle; the problem must be somewhere else.
    - How much memory has the process allocated when it produces this error?
    - Did you set the per-process memory limits of the operating system high enough?
    - Did you start the Java Virtual Machine with a sufficient maximal stack size?
    If the problem only occurs after a longer runtime, you might also consider the
    possibility that your code has a memory leak.
    Yours,
    Laurenz Albe

  • Where can i download OCI Demonstration Programs for C?

    hi,evryone,i'v installed the 10g Release 1 client completely,but i not found the OCI Demonstration Programs in $ORACLE_HOME/rdbms/demo Anybody know
    where can i download OCI Demonstration Programs for C?Thanks a lot!

    The demo programs are on the companion cd.

  • OCI - Sample program works on Windows but gives error in Solaris ??

    Hi,
    I am new to OCI. I was trying the following sample program:
    #include<iostream>
    #include<conio.h>
    #include<firstheader.h>
    //#include<stdafx.h>
    #include<string.h>
    using namespace std;
    class OCIClass
    public:
         OCIClass()
    int p_bvi;
    char p_sli[20];
    int rc;
    char errbuf[100];
    int errcode;
    const char *s;
    printf("Hello\n");
    string sql;
    string sql2="select substr(ename,1,3) from emp where job='ANALYST'";
    cout<<sql2;
    //char sql[512];
    int flag=0;
    sql += "SELECT * from emp where job='";
    if (flag==0)
    sql += "MANAGER";
    else
    sql += "ANALYST";
    sql += "'";
    cout<<sql + "\n";
    s=sql.c_str();
    char* cstr = new char[sql.size()+1];
    strcpy (cstr, sql.c_str());
    char* cstr2 = new char[sql2.size()+1];
    strcpy (cstr2, sql2.c_str());
    sql=" ";
    /* Initialize evironment */
    rc=OCIEnvCreate((OCIEnv **)&p_env,(ub4)OCI_DEFAULT ,(void *)0, (void * (*)(void *, size_t))0,
    (void * (*)(void *, void *, size_t))0,(void (*)(void *, void *))0,(size_t)0, (void **)0);
    /* Initialize handles */
    rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_err, OCI_HTYPE_ERROR,
    (size_t) 0, (dvoid **) 0);
    printf("Error handle allocated\n");
    rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_svc, OCI_HTYPE_SVCCTX,
    (size_t) 0, (dvoid **) 0);
    printf("service handle allocated\n");
    printf("Value of RC before Logon\n %d", rc);
    /* Connect to database server */
    rc = OCILogon(p_env, p_err, &p_svc, (OraText *)"scott", 5,(OraText *) "welcome", 7,(OraText *) "", 0);
    printf("Value of RC after Logon\n %d", rc);
    if (rc != 0) {
    OCIErrorGet((dvoid *)p_err, (ub4) 1, (text *) NULL, &errcode, (OraText *)errbuf, (ub4) sizeof(errbuf), OCI_HTYPE_ERROR);
    printf("Error - %s\n",errbuf);
         printf("error");
    //exit(8);
         getch();
    printf("Connect successful\n");
    /* Allocate and prepare SQL statement */
    rc = OCIHandleAlloc( (dvoid *) p_env, (dvoid **) &p_sql,
    OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0);
    rc = OCIStmtPrepare(p_sql, p_err, (OraText*) cstr,
    (ub4) 37, (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT);
    /* Bind the values for the bind variables
    p_bvi = 10; /* Use DEPTNO=10
    rc = OCIBindByName(p_sql, &p_bnd, p_err, (text *) ":x",
    -1, (dvoid *) &p_bvi, sizeof(int), SQLT_INT, (dvoid *) 0,
    (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT);*/
    /* Define the select list items */
    rc = OCIDefineByPos(p_sql, &p_dfn, p_err, 1, (dvoid *) &p_sli,
    (sword) 20, SQLT_STR, (dvoid *) 0, (ub2 *)0,
    (ub2 *)0, OCI_DEFAULT);
    /* Execute the SQL statment */
    rc = OCIStmtExecute(p_svc, p_sql, p_err, (ub4) 1, (ub4) 0,
    (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL, OCI_DEFAULT);
    while (rc != OCI_NO_DATA) {             /* Fetch the remaining data */
    printf("%s\n",p_sli);
    rc = OCIStmtFetch(p_sql, p_err, 1, 0, 0);
    printf("After fetch\n");
    rc = OCILogoff(p_svc, p_err); /* Disconnect */
    rc = OCIHandleFree((dvoid *) p_sql, OCI_HTYPE_STMT); /* Free handles */
    rc = OCIHandleFree((dvoid *) p_svc, OCI_HTYPE_SVCCTX);
    rc = OCIHandleFree((dvoid *) p_err, OCI_HTYPE_ERROR);
    void main()
    OCIClass c1;
    getch();
    The above program works on my Windows desktop. If I try this in Solaris, OCILogon fails and gives an error. If I check the value of rc, I find that it is -2. I can connect to the database using SQLPlus, but not through the program. Not sure how to debug this...
    Any pointers ?
    Thanks in advance,
    mrk

    Did you make the required port entry in the /etc/services file? You will need to add the gateway service port there. Then try to run your program.
    T00th

  • Dreamweaver hangs when other CS programs are running,

    If I run Dreamweaver (4 or 5.5) on its own (with no other CS programs running) it works fine; but the minute I run another CS program (InDesign for example) Dreamweaver eventually hangs and is shown as not responding in Activity Monitor.

    I'm running 10.7.4, but I gave up trying to solve the issue so I uninstalled ALL my creative suite applications and re-installed. Problem solved.

  • Hanging when switching between programs?

    Is there a soluton to programs hanging when switching between one program to another?

    Safe Mode deletes some system caches that may help..
    Startup your Mac in Safe Mode
    A Safe Mode boot takes longer than a normal boot so be patient.
    Once you are in Safe Mode, click Restart from the Apple () menu then try switching between applications.

  • Problem about running oci demo program!

    I execute a demo program under $oracle_home/rdbms/demo,get errors:
    [oracle@lnx71 demo]$ ./cdemodsa
    ./cdemodsa: error while loading shared libraries: libclntsh.so.9.0: cannot open
    [oracle@lnx71 demo]$
    The environment is : gcc 2.95.3 ; kernel 2.40-8.
    Can somebody tell me why?
    Thanks a lot!

    It sounds like your environment has not been setup properly. You might want to make sure that libclntsh.so.9.0 is in LD_LIBRARY_PATH. Other settings that need to be checked are mentioned in the demo makefile.
    Hope that helps.

  • Passing information from an OCI C program back to jdev

    Hi,
    I need to write a C program to do some microarray analysis with data inside the Oracle database. (Actually someone else will write the program...) The analysis results will probably end up in a file somewhere. I can call the C program using the extproc feature of Oracle, but the C code will have to send back some information to me, such as the filename. I am contemplating how to get this return information.
    For instance, the C program could update the database with the return information and I could retrieve it from the database. Is there a better way to communicate between jdev and an external procedure?
    Thanks.
    Susan

    I have been able to accomplish this to an extent. Now I am following Muench "Using View Objects to Select Stored Function Results" to try and call the function and return a value from jdev. When I create the view object based on the extproc c language function call (which works perfectly from sqlplus command line), the test query is valid is fine... but when I run a test client against the application module, I get the ORA-28575 error.
    Any ideas? This is supposed to be a network related issue so is there a problem coming through a jdbc:thin connection?
    Thanks.
    Susan

  • Powershell Hang when using Run Program (2012 R2)

    I've seen a couple posts about this in the past but nothing recent. I am calling a powershell and passing through some variables to run program activity in orchestrator. The program runs (in this case the DB is created) and the script finishes, however the
    activity does not. I've tried two solutions:
    http://blog.coretech.dk/jgs/sco-2012-running-powershell-scripts-via-run-program-activity/
    and
    http://www.sc-orchestrator.eu/index.php/scoblog/67-running-powershell-with-the-run-program-activity-from-orchestrator
    Neither of which seem to do the trick. Here is my command
    Note: The script runs fine when called on the machine locally. For sake of cleanliness I've removed my <Nul 2>&1 attempts. 

    I have found in these situations that having a non-stop error seems to get it from freezing (along with <Nul 2>&1).  I use 'Get-Content "C:\Farce.txt"' as my last line.

  • Java program hangs up

    Hi,
    I have a jar file which seems to work with version 1.3.0-01 but not with higher versions. It is a demo program provided by Natural Micro Systems a leading telecommunications solutions provider. It is a conference demo program and the NMS(Natural Micro Systems) guys say that it will work for higher versions also, but it just hangs up.
    The program consists of 3 dlls which are used by JNI to access NMS API's.
    It also consists of 3 jar files which act as interface for NMS API's.
    If any one can help me please help me and let me know if any additional information is required.
    This demo program is very useful for our testing purposes so we badly need it.
    Thanks,
    Ranjith.

    Hi,
    I have a jar file which seems to work with version 1.3.0-01 but not with higher versions. It is a demo program provided by Natural Micro Systems a leading telecommunications solutions provider. It is a conference demo program and the NMS(Natural Micro Systems) guys say that it will work for higher versions also, but it just hangs up.
    The program consists of 3 dlls which are used by JNI to access NMS API's.
    It also consists of 3 jar files which act as interface for NMS API's.
    If any one can help me please help me and let me know if any additional information is required.
    This demo program is very useful for our testing purposes so we badly need it.
    Thanks,
    Ranjith.

  • How to compile Reports sample OCI program in Sun solaris ?

    TO All:
    Here is reports OCI sample program.
    #include <stdio.h>
    long ret,rwcrun(),rwcsql();
    main()
    char options[132];
    long len;
    strcpy(options,"userid=ps51/ps51 report=emp batch=yes paramform=no destype=file desname=l.ps");
    printf("/options are: %s",options);
    len=strlen(options);
    ret=rw2run(options);
    printf("/n Value of return code is %d",ret);
    exit();
    Pls guide me , how to compile this program in Sun Solaris platform .
    1. Which library file I need to include.
    2. How to create make (.mk) file.
    If I compile this program using below command.
    $>cc ociprg.c r30dll.o
    then "rw2run" not found error.
    Also I need to use RW2RRB oci function, for this which library I need to use.
    Thanks in Advance
    Siva
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by R.Siva Kumar [[email protected]]:
    TO All:
    Here is reports OCI sample program.
    <HR></BLOCKQUOTE>
    null

  • Using GCC on SunSolaris2.8 to compile and link sample OCI programs

    Hi,
    Does anyone have sample make file (or modified version of demo_rdbms.mk) or command to compile and link OCI demo programs using gcc?? I am trying to compile and link cdemo81.c from rdbms/demo directory.
    gcc related files are under /usr/local/bin and /usr/local/lib, /us/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1
    Thanks

    Hi,
    I finally got cdemo81.c to compile and link on Solaris 8 using Oracle 8.1.7.3. I got some help from one other person who had posted similar question on this forum. Following is the makefile that I am currently using to compile my oci code. Please note that you need to have $(ORACLE_HOME) and LD_LIBRARTY_PATH set before you try to compile using gcc.
    ************** Makefile Starts here ***********************************
    CPP=g++
    CC=gcc
    LD=ld
    CCFLAGS= -g
    CPPFLAGS=-g3 -Wall
    INCDIR=-I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public
    LIBNAME=liboralib
    SOEXT=.so
    DLLINK=-shared -ldl
    ###SOFLAGS=-shared -Wl,-expect_unresolved -Wl,-soname,$(LIBNAME)$(SOEXT) $(LIBPATH)
    SOFLAGS=-shared -Wl
    LDFLAGS=-shared -expect_unresolved * -soname
    LIBPATH=-L$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib/ -R$(ORACLE_HOME)/lib/ -R$(ORACLE_HOME)/rdbms/lib/
    ORALIBS= -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 \
    -lntcps8 -lnsslb8 -lntcp8 -lntns8 -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 \
    -lnldap8 -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 \
    -lntcp8 -lntns8 -ln8 -lnl8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 \
    -lmm -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 \
    -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lntcp8 \
    -lntns8 -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 \
    -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lntcp8 -lntns8 -ln8 \
    -lnl8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 -ltrace8 -lnls8 -lcore8 \
    -lnls8 -lcore8 -lnls8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 -lnls8 \
    -lcore8 -lnls8 -lcore8 -lnls8 -lnsl -lsocket -lgen -ldl -lsched \
    -lc -laio -lposix4 -lkstat -lm -lthread -lwtc8
    LIBS=$(ORACLE_HOME)/rdbms/lib/defopt.o $(ORACLE_HOME)/lib/sscoreed.o $(ORACLE_HOME)/lib/libclntsh.so $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ##LIBS=$(ORACLE_HOME)/rdbms/lib/defopt.o $(ORACLE_HOME)/lib/sscoreed.o $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ###LIBS=$(ORACLE_HOME)/rdbms/lib/ssdbaed.o $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ORALIBSO=-lnetv2 -lnttcp -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 \
    -lmm -lnlsrtl3 -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lnetv2 -lnttcp \
    -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 -lepc -lnlsrtl3 \
    -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lclient8 -lvsn -lcommon8 -lgeneric8 \
    -lnlsrtl3 -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lnsl -lm -ldl -lm \
    -ldl -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lncr \
    -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lncr \
    -lnetv2 -lnttcp -lnetwork -lncr -lsql
    ###-lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -lnoss8 -lnoname8 -lntcp8 \
    #ORALIBS=-lnetv2 -lnttcp -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 \
    # -lmm -lcore8 -lnlsrtl3 -lepc -lnsl -lm -ldl
    CPPOBJECTS=orabase.o orastmt.o
    HEADER=orabase.h orastmt.h
    .SUFFIXES: .cc .c
    ###.c.o:
    ###     $(CC) $(CCFLAGS) $(INCDIR) -o $@ -c $<
    .cc.o:
         $(CPP) $(CPPFLAGS) $(INCDIR) -o $@ -c $<
    #lib: $(CPPOBJECTS) $(HEADERS)
    #     $(CPP) $(CPPFLAGS) $(SOFLAGS) $(LIBPATH) -o $(LIBNAME)$(SOEXT) $(CPPOBJECTS) $(LIBS)
    #clean:
    #     $(RM) *.o core *~
    #distclean: clean
    #     $(RM) $(LIBNAME)$(SOEXT) so_locations
    ###ocimanager:     ocimanager.o
    ###     $(CC) -o $@ $(LIBPATH) $(LIBS) $<
    ocimanager.so: ../obj/ocimanager.o
         $(CC) $(LIBPATH) -o ocimanager.so -G ../obj/ocimanager.o $(LIBS)
    ##     gcc -L$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib/ -o ocimanager.so -G ../obj/ocimanager.o $(LIBS)
    ../obj/ocimanager.o: ocimanager.c ocimanager.h
         $(CC) $(CCFLAGS) $(INCDIR) -o ../obj/ocimanager.o -c ocimanager.c
    **************** Makefile ends here*********************************************
    Hope this helps
    Brunda

  • Compile OCI program in Sun wrokshop

    Hi, I am new to Sun workshop and Oracle OCI. How can I set up the environment to comipler Oracle OCI in Forte Sun workshop without using oracle make file?
    Thanks,
    Sherry

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by R.Siva Kumar [[email protected]]:
    TO All:
    Here is reports OCI sample program.
    <HR></BLOCKQUOTE>
    null

  • How to call store procedure from an oci program

    Hello,
    I work on Oracle 8.1.7 under AIX.
    I must call from an OCI C++ program a store procedure that have an result set as param out.
    I'm not sure how can I call the procedure/function. I want to execute this statement and fetch the results.:
    " CALL Department.get_all (:1) " is this OK?
    " Call department.GetAll() into :1 "
    I have seen some example from an PL/SQL block but that's not ok for me.
    what i have done:
    i have created an package
    create or replace package department as
    type cursor_type is ref cursor;
    procedure get_emp( i_deptno in number, rs out cursor_type );
    procedure get_all( rs out cursor_type );
    function GetAll return cursor_type;
    end department;
    create or replace package body department as
    procedure get_emp ( i_deptno in number, rs out cursor_type )
    as
    begin
    open rs for
    select empno, ename
    from emp
    where deptno = i_deptno;
    end;
    procedure get_all ( rs out cursor_type )
    as
    begin
    open rs for
    select empno, ename
    from emp;
    end;
    function GetAll return cursor_type
    as
    l_cursor cursor_type;
    begin
    open l_cursor for select ename, empno from emp;
    return l_cursor;
    end;
    end;

    Hi,
    I am new to OCI facing the same problem you have mentioned, If you have found out how to solve it , can you post the answer for the same.
    Thanks
    Mani

  • OCI crash while executing PL/SQL

    HI,
    I have a multithreaded application which uses OCI. The application has a master thread and spwans 4 child threads that connect to the db and execute specific queries. The problem occurs while trying to execute the last PL/SQL command which includes some bfile operations. I had read that OCI does not mutex properly on LOB operations, but I do not get any error, the application just hangs. Attached is part of the code that has all OCI calls.
    The culprit is the update_tables function. The application hangs in there when processing is very close in time for threads.
    [] 20080411 10:40:52.255 Oracle NOTICE - [2000][id 1093229] Executing PL/SQL to update all tables
    [] 20080411 10:40:52.259 Oracle NOTICE - [2000][id 1093230] Executing PL/SQL to update all tables
    [] 20080411 10:40:52.321 Oracle NOTICE - [2000][id 1093231] Executing PL/SQL to update all tables
    this is where is hangs.
    //!This program is the server portion of the distributed job system.
    #include "application.h"
    #include "log4cwrapper.h"
    //#include "sql.h"
    #include <oci.h>
    OCIEnv*            env;
    int main(int argc, char* argv[]){
         OCIError*     err;
         OCIServer*    srv;
         OCISvcCtx*    svc;
         OCISession*   ses;
         sword r;
         OCIStmt*       initslc;
         OCIStmt*       comm;
         OCIBind      *bnd1hp = (OCIBind*) 0;
         char stmt[]="commit";
         char update_initial[] ="update CONV_IMAGE_JOBS set conv_attempts_cnt = :1";
         FILE *log_fd_main;
         int sockfd, logfd, pidfd, count = 0, oci_error = 0;
         pthread_t job_thread;               //!<Threads for image conversion
        pthread_attr_t thread_attr;          //!<Thread attribute
        int *clientfd;                         //!<Non-negative file descriptor for new socket
        pthread_mutexattr_t mattr;          //!<Mutex attribute used to set the properties of the mutex
         char masterpid[100];
         log_fd_main = fopen(log_file, "a");
         if (log_fd_main == NULL) {
              printf(" ERROR - DjsMaster [0002] Failed to open log file.\n");
            exit(1);
        r=OCIEnvCreate( &env,
              OCI_THREADED
             , 0, 0, 0, 0, 0, 0);
        if (r != OCI_SUCCESS) {
              strcpy(err_msg,"Couldn't create environment (OCIEnvCreate)");
              oci_error = 1;
              cleanup();
         OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
         OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
         OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
         OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
         r=OCIServerAttach(srv, err, dbname, strlen((const char*)dbname), (ub4) OCI_DEFAULT);
         if (r != OCI_SUCCESS) {
              checkerrr(err, r, err_msg);
              oci_error = 1;
              cleanup();
         OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
         OCIAttrSet(ses, OCI_HTYPE_SESSION, username,
                strlen((const char*)username), OCI_ATTR_USERNAME, err);
         OCIAttrSet(ses, OCI_HTYPE_SESSION, password,
                strlen((const char*)password), OCI_ATTR_PASSWORD, err);
         if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX,
                (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
              checkerrr(err, r,err_msg);
              oci_error = 1;
              cleanup();
         r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
         if (r != OCI_SUCCESS) {
              checkerrr(err, r,err_msg);
              oci_error = 1;
              cleanup();
         if (OCIHandleAlloc((dvoid *) env, (dvoid **) &initslc,
                (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtPrepare(initslc, err, (text*)(void*)update_initial,
                (ub4) strlen((char *) update_initial),
                (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) initslc, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         int coun=0;
         if ((r = OCIBindByPos(initslc, &bnd1hp, err, (ub4) 1, &coun, sizeof(count), SQLT_INT,
                                 (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
               checkerrr(err, r, (text*)err_msg);
            oci_error = 1;
              cleanup();
         if ((r = OCIStmtExecute(svc, initslc, err, (ub4) 1, (ub4) 0, (CONST OCISnapshot *) 0,
                                   (OCISnapshot *) 0, (ub4) OCI_DEFAULT))){
              checkerrr(err, r, (text*)err_msg);
             OCIHandleFree((dvoid *) sh, (ub4) OCI_HTYPE_STMT);
             oci_error = 1;
               cleanup();
         if ((r=OCIHandleAlloc((dvoid *) env, (dvoid **) &comm,
                (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtPrepare(comm, err, (text*)(void*)stmt,
                (ub4) strlen((char *) stmt), (ub4) OCI_NTV_SYNTAX,
                (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         if ((r=OCIStmtExecute(svc, comm, err, (ub4) 1, (ub4) 0,
                (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                (ub4) OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
              oci_error = 1;
              cleanup();
         OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
         OCIHandleFree((dvoid *) initslc, (ub4) OCI_HTYPE_STMT);
         if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
         if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
              checkerrr(err, r, (text*)err_msg);
              oci_error = 1;
              cleanup();
        if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
              oci_error = 1;
              cleanup();
         if ( oci_error == 1) {
              cleanup();
            log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, log_fd_main);
         mylog_msg("DjsMaster", LOG4C_PRIORITY_DEBUG,
          " [0000]  daemon running, ready to accept connections,"
          "waiting for to connect......");     
         fclose(log_fd_main);
         while (1) {
                 Accept a connection from a slave. 
            clientfd = malloc(sizeof(int));
            if ((*clientfd = serv_accept(sockfd)) < 0) {
                    exit(1);
                 Fork off a child thread to process this slave. 
            pthread_create(&job_thread, &thread_attr, jobfunction, clientfd);
             //count++;
               sleep(1);
    //!Dump Oracle Error
    void cleanup() {
         log4c_appender_t* myappender;
         myappender = log4c_appender_get("myappender");
         log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, fopen(log_file, "a"));
         mylog_log("DjsMaster", LOG4C_PRIORITY_ERROR,
          " [2001] Oracle error %s", err_msg);
    void *jobfunction(void *arg) {
         OCIError*     err;
         OCIServer*    srv;
         OCISvcCtx*    svc;
         OCISession*   ses;
         sword r;
         OCIBind      *bnd1hp = (OCIBind*) 0;
         OCIBind      *bnd2hp = (OCIBind*) 0;
         OCIBind      *bnd3hp = (OCIBind*) 0;
         OCIDefine *def1hp = (OCIDefine *) 0;
         OCIDefine *def2hp = (OCIDefine *) 0;
         OCIDefine *def3hp = (OCIDefine *) 0;
         OCIDefine *def4hp = (OCIDefine *) 0;
         OCIDefine *def5hp = (OCIDefine *) 0;
         OCIDefine *def6hp = (OCIDefine *) 0;
         OCIDefine *def7hp = (OCIDefine *) 0;
         OCIDefine *def8hp = (OCIDefine *) 0;
         OCIDefine *def9hp = (OCIDefine *) 0;
         char select_all[] =" select filename, filepath, image_system_id, quality_status_cd,"
                          " format_cd,global_id, id, conv_attempts_cnt, image_resolution"
                                  " from TABLE_NAME where conv_attempts_cnt = 0 order by created_datetime ";
         char select_count[] ="select conv_attempts_cnt, image_resolution from TABLE_NAME"
                            " where id = :1 ";
         char update_single[] ="update TABLENAME set conv_attempts_cnt = :1 where id = :2 ";
         char stmt[]="commit";
         int oci_error = 0;
            Variables to hold the values returned from SQL SELECT
         int id, global_id, format_cd, quality_status;
         int resolution, image_id, conv_attempts_cnt;
         char filename[101];                      
       char filepath[201];                      
         char filepath_full[MAX_BUF];       
         char tif_filename[101];                 
         char return_filepath[MAX_BUF];     
         char conv_details[MAX_BUF];          
         char *hold_filename;
         char *hold_filepath;
         char *hold_tiffile;
       char *progress;
         char *tempstr_p;
       char *jobnum_p;
       char *returnname_p;
         char *returnsize_p;
         char tempstr[MAX_BUF];
         int count = 0;                 
         int success_flag = 0;     
       int reprocess_flag = 0;
         char s_resolution[5];     
         char s_format[5];            
         struct stat filebuf;      
         int myfd, datafd, jobid, i, update, holdid;
         char sockread[1024], sockwrite[1024],
            jobnum[10], dataname[1024],
            line_to_log[1024], databuf[1024];
         int datasize, bufsize, returnsize, filesize;
         FILE *log_fd;
         log4c_appender_t* myappender;
         myappender = log4c_appender_get("myappender");
         log_fd = fopen(log_file, "a");
         if (log_fd == NULL) {
              perror(" ERROR - DjsMaster [1000] Failed to open log file.\n");
            exit(1);
         myfd = *((int *)arg);          
       log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
         log4c_appender_set_udata(myappender, log_fd);
         mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                " [1000] Starting jobs on %d.",
                (int)pthread_self());     
         Readline_r(myfd, sockread, 255);
            Continue to read requests received from the slaves. 
         while (strcmp(sockread, SLAVE_DONE) != 0) {
              OCIStmt* slcth;               
              OCIStmt* updth;               
              OCIStmt* slcth2;           
              OCIStmt*       comm;
              sleep(15);
          log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
              log4c_appender_set_udata(myappender, log_fd);
              mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
             " [1000] Continue to read request from %d, looping with %s ",
             (int)pthread_self(), sockread);     
            if (strcmp(sockread, REQUEST_JOB) == 0) {
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                   log4c_appender_set_udata(myappender, log_fd);
                   mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                " [1000] %d  requesting job. Connecting to database.",
                (int)pthread_self());     
               if (oci_error == 1) {
                if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                        checkerrr(err, r, (text*)err_msg);
                        cleanup();
                      if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                           checkerrr(err, r, (text*)err_msg);
                           cleanup();
                      if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                           cleanup();
                oci_error = 0;
                   OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
                   OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
                   OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
                   OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
                   r=OCIServerAttach(srv, err, dbname,
                   strlen((const char*)dbname), (ub4) OCI_DEFAULT);
                   if (r != OCI_SUCCESS) {
                        checkerrr(err, r, err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
             OCIAttrSet(ses, OCI_HTYPE_SESSION, username,
                   strlen((const char*)username), OCI_ATTR_USERNAME, err);
             OCIAttrSet(ses, OCI_HTYPE_SESSION, password,
                   strlen((const char*)password), OCI_ATTR_PASSWORD, err);
                   if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX,
                   (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
                        checkerrr(err, r,err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
                   if (r != OCI_SUCCESS) {
                        checkerrr(err, r,err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if (OCIHandleAlloc((dvoid *) env, (dvoid **) &slcth,
                   (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                        checkerrr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIStmtPrepare(slcth, err, (text*)(void*)select_all,
                      (ub4) strlen((char *) select_all),
                      (ub4) OCI_NTV_SYNTAX,
                      (ub4) OCI_DEFAULT))) {
                        checkerrr(err, r, (text*)err_msg);
                        OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def1hp, err, 1,
                      filename, 100, SQLT_CHR, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def2hp, err, 2,
                      filepath, 100, SQLT_CHR, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def3hp, err, 3,
                      &image_id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def4hp, err, 4,
                      &quality_status, sizeof(int), SQLT_INT,
                      (dvoid *) 0, (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def5hp, err, 5,
                      &format_cd, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def6hp, err, 6,
                      &global_id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def7hp, err, 7,
                      &id, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIDefineByPos(slcth, &def8hp, err, 8,
                      &conv_attempts_cnt, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                   if ((r=OCIDefineByPos(slcth, &def9hp, err, 9,
                      &resolution, sizeof(int), SQLT_INT, (dvoid *) 0,
                      (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                        checkerr(err, r, (text*)err_msg);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   if ((r=OCIStmtExecute(svc, slcth, err, (ub4) 0, (ub4) 0,
                      (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                      (ub4) OCI_DEFAULT))){
                        checkerr(err, r, (text*)err_msg);
                        OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                        oci_error = 1;
                        cleanup();
                        sprintf(sockwrite, "%s", NO_JOB);
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        Readline_r(myfd, sockread, 255);
                        continue;
                   r = OCIStmtFetch(slcth, err, (ub4) 1, (ub4) OCI_FETCH_NEXT, (ub4) OCI_DEFAULT);
                   if (r == OCI_SUCCESS) {
                        success_flag = 1;
                reprocess_flag = 0;
                   else if (r == OCI_SUCCESS_WITH_INFO) {
                        success_flag = 1;
                reprocess_flag = 0;
                   else {
                        if (r != OCI_NO_DATA) {
                             checkerr(err, r, (text*)err_msg);
                             success_flag = 0;
                        success_flag = 0;
                   OCIHandleFree((dvoid *) slcth, (ub4) OCI_HTYPE_STMT);
                       No job in the table. Continue listening. Tell the slave
                       there are no current jobs to process. 
                 if (! (success_flag)) {
                if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                           checkerrr(err, r, (text*)err_msg);
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                      if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                           oci_error = 1;
                           cleanup();
                           sprintf(sockwrite, "%s", NO_JOB);
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                           Readline_r(myfd, sockread, 255);
                           continue;
                        success_flag = 0;
                        sprintf(sockwrite, "%s", NO_JOB);
                    log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000] No new jobs, writing to %d %s",
                      (int)pthread_self(), sockwrite);     
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                Readline_r(myfd, sockread, 255);
                        success_flag = 0;
                continue;
                   /*  New job is fetched, process it.  */
                     else {
                reprocess_flag = 0;
    reprocess:     log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("Oracle", LOG4C_PRIORITY_DEBUG,
                   " [2000][id %d] Fetching data for new job from databse", id);
                        mylog_log("Oracle", LOG4C_PRIORITY_DEBUG,
                   " [2000][id %d]Fetched job_id=%d, format=%d, resolution=%d, conv_attemtps=%d, imagefile=%s, imagepath=%s",
                   id, id, format_cd, resolution,
                   conv_attempts_cnt, filename, filepath);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                   " [1000][id %d] New job for %d. Job will be processed.",
                   id, (int)pthread_self());     
                        holdid = id;
                if ( reprocess_flag == 1 )
                           OCIHandleAlloc(env, (dvoid**)&err, OCI_HTYPE_ERROR,   0, 0);
                           OCIHandleAlloc(env, (dvoid**)&srv, OCI_HTYPE_SERVER,  0, 0);
                           OCIHandleAlloc(env, (dvoid**)&svc, OCI_HTYPE_SVCCTX,  0, 0);
                           OCIHandleAlloc(env, (dvoid**)&ses, OCI_HTYPE_SESSION, 0, 0);
                           r=OCIServerAttach(srv, err, dbname, strlen((const char*)dbname), (ub4) OCI_DEFAULT);
                           if (r != OCI_SUCCESS) {
                                checkerrr(err, r, err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                           OCIAttrSet(svc, OCI_HTYPE_SVCCTX, srv, 0, OCI_ATTR_SERVER,  err);
                           OCIAttrSet(ses, OCI_HTYPE_SESSION, username, strlen((const char*)username), OCI_ATTR_USERNAME, err);
                           OCIAttrSet(ses, OCI_HTYPE_SESSION, password, strlen((const char*)password), OCI_ATTR_PASSWORD, err);
                           if ( (r=OCIAttrSet((dvoid *) svc, (ub4) OCI_HTYPE_SVCCTX, (dvoid *) ses, (ub4) 0, (ub4) OCI_ATTR_SESSION, err)) ) {
                                checkerrr(err, r,err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                           r=OCISessionBegin (svc, err, ses, OCI_CRED_RDBMS, OCI_DEFAULT);
                           if (r != OCI_SUCCESS) {
                                checkerrr(err, r,err_msg);
                                oci_error = 1;
                                cleanup();
                                success_flag = 0;
                                sprintf(sockwrite, "%s", NO_JOB);
                                Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                Readline_r(myfd, sockread, 255);
                                continue;
                        if (OCIHandleAlloc((dvoid *) env, (dvoid **) &slcth2,
                      (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(slcth2, err, (text*)(void*)select_count,
                      (ub4) strlen((char *) select_count),
                      (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIDefineByPos(slcth2, &def1hp, err, 1,
                         &conv_attempts_cnt, sizeof(int), SQLT_INT, (dvoid *) 0,
                         (ub2   *) 0, (ub2   *) 0, OCI_DEFAULT))) {
                             checkerr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(slcth2, &bnd1hp, err, (ub4) 1,
                         &holdid, sizeof(int), SQLT_INT,
                         (dvoid *) 0, (ub2 *) 0, (ub2 *) 0, (ub4) 0,
                         (ub4 *) 0, OCI_DEFAULT))){
                             checkerr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIStmtExecute(svc, slcth2, err, (ub4) 0, (ub4) 0,
                         (CONST OCISnapshot *) 0,
                         (OCISnapshot *) 0, (ub4) OCI_DEFAULT))){
                             checkerr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        r = OCIStmtFetch(slcth2, err, (ub4) 1,
                      (ub4) OCI_FETCH_NEXT, (ub4) OCI_DEFAULT);
                        if (r == OCI_SUCCESS) {
                             success_flag = 1;
                        else if (r == OCI_SUCCESS_WITH_INFO) {
                             success_flag = 1;
                        else {
                             if (r != OCI_NO_DATA) {
                                  checkerr(err, r, (text*)err_msg);
                                  success_flag = 0;
                                  sprintf(sockwrite, "%s", NO_JOB);
                                  Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                                  Readline_r(myfd, sockread, 255);
                                  continue;
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        OCIHandleFree((dvoid *) slcth2, (ub4) OCI_HTYPE_STMT);
                        count = conv_attempts_cnt;
                        count++;
                        /*   Updating conv_attemtpts_cnt for the current job  */
                        if (OCIHandleAlloc((dvoid *) env, (dvoid **) &updth,
                      (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0)) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(updth, err, (text*)(void*)update_single,
                      (ub4) strlen((char *) update_single), (ub4) OCI_NTV_SYNTAX,
                      (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(updth, &bnd2hp, err, (ub4) 1, &count,
                         sizeof(count), SQLT_INT, (dvoid *) 0, (ub2 *) 0,
                         (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
                         checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIBindByPos(updth, &bnd3hp, err, (ub4) 2, &holdid,
                         sizeof(holdid), SQLT_INT, (dvoid *) 0, (ub2 *) 0,
                         (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT))){
                         checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIStmtExecute(svc, updth, err, (ub4) 1, (ub4) 0,
                         (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                         (ub4) OCI_DEFAULT))){
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIHandleAlloc((dvoid *) env, (dvoid **) &comm,
                         (ub4) OCI_HTYPE_STMT, (size_t) 0, (dvoid **) 0))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtPrepare(comm, err, (text*)(void*)stmt,
                         (ub4) strlen((char *) stmt),
                         (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r=OCIStmtExecute(svc, comm, err, (ub4) 1,
                      (ub4) 0, (CONST OCISnapshot *) 0, (OCISnapshot *) 0,
                      (ub4) OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        OCIHandleFree((dvoid *) comm, (ub4) OCI_HTYPE_STMT);
                        OCIHandleFree((dvoid *) updth, (ub4) OCI_HTYPE_STMT);
                        if ((r = OCISessionEnd(svc, err, ses, OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIServerDetach(srv, err, OCI_DEFAULT))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) ses, (ub4) OCI_HTYPE_SESSION))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) svc, (ub4) OCI_HTYPE_SVCCTX))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) srv, (ub4) OCI_HTYPE_SERVER))) {
                             checkerrr(err, r, (text*)err_msg);
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        if ((r = OCIHandleFree((dvoid*) err, (ub4) OCI_HTYPE_ERROR))) {
                             oci_error = 1;
                             cleanup();
                             success_flag = 0;
                             sprintf(sockwrite, "%s", NO_JOB);
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             continue;
                        hold_filename = strtok_r(filename, " ", &progress);
                        strcpy(filename,hold_filename);
                        strcpy(tif_filename, filename);
                    hold_tiffile = strtok_r(tif_filename, ".", &progress);
                        strcpy(tif_filename, hold_tiffile);
                        strcat(tif_filename, ".tif");
                        hold_filepath = strtok_r(filepath, " ", &progress);
                        strcpy(filepath, hold_filepath);
                        strcpy(return_filepath, filepath);
                        strcat(return_filepath, "/");
                        strcat(return_filepath, filename);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_DEBUG,
                   " [1000][id %d]  Image %s located in %s will be converted to image filename %s ",
                   holdid, tif_filename, filepath, filename);     
                        if (tif_filename == NULL) {
                             log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_WARN,
                      " [1001][id %d]  No file to convert. No file name associated with the job",
                      holdid);     
                   sprintf(sockwrite, "%s", NO_JOB);
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000][id %d] No job to perform. Writing to %d %s",
                      holdid, (int)pthread_self(), sockwrite);     
                             Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                             Readline_r(myfd, sockread, 255);
                             if ( count <= max_failure ) {
                                  success_flag = 1;
                      reprocess_flag = 1;
                                  goto reprocess;
                             else {
                                  success_flag = 0;
                                  continue;
                             //continue;
                        strcpy(filepath_full, filepath);
                        strcat(filepath_full, "/");
                        strcat(filepath_full, tif_filename);
                        if (stat(filepath_full, &filebuf) < 0) {
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                           log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_WARN,
                      " [1002][id %d]  Could not stat the file %s. Nothing to send to %d ",
                      holdid, filepath_full, (int)pthread_self());     
                           sprintf (sockwrite, "%s", NO_JOB);
                   log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                             log4c_appender_set_udata(myappender, log_fd);
                             mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                      " [1000][id %d] No job to perform. Writing to %d %s",
                      holdid, (int)pthread_self(), sockwrite);     
                           Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                   Readline_r(myfd, sockread, 255);
                             if ( count <= max_failure ) {
                                  success_flag = 1;
                      reprocess_flag = 1;
                                  goto reprocess;
                             else {
                                  success_flag = 0;
                                  continue;
                        //continue;
                        datasize = (int)filebuf.st_size;
                        sprintf(s_resolution, "%d", resolution);
                        sprintf(s_format, "%d", format_cd);
                        strcpy(conv_details, "./conv.sh:");
                        strcat(conv_details, tif_filename);
                        strcat(conv_details, ":");
                        strcat(conv_details, s_resolution);
                        strcat(conv_details, ":");
                        strcat(conv_details, s_format);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_NOTICE,
                   " [1000][id %d] Writing to socket all conversion details for %d ",
                   holdid, (int)pthread_self());     
                        sprintf(sockwrite, "%d=%s%%%s%%%d%%%s\n", id, conv_details,
                      tif_filename, datasize, return_filepath);
                        log4c_appender_set_type(myappender, log4c_appender_type_get("stream"));
                        log4c_appender_set_udata(myappender, log_fd);
                        mylog_log("DjsMaster", LOG4C_PRIORITY_DEBUG, " [1000][id %d] Sending %s",
                      holdid, sockwrite);     
                        Writen_r(myfd, sockwrite, (int)strlen(sockwrite));
                        if ((datafd = open(filepath_full, O_RDONLY)) < 0) {
                   close(myfd);
                     log4c_appender_set_type(myappender,

    I wonder how OCI_OBJECT will fix it as the call to OCIServerAttach is the culprit in the update_Tables function.

Maybe you are looking for

  • Can someone tell me what the "Auto Fix MRDVR" will do?

    Verizon techs have given me different answers on this. One said I will lose recordings on the DVR. He also said that it effectively reformats the DVR so it will not recognize my external drive after running the auto fix. Another said it is basically

  • How to connect a time capsule to another network

    I have recently moved to an area that has no landline system, all ISP's are provided through a wireless router. How should I connect the timecapsule into such a network? Regards, Martin

  • MS SQL Server 2012 Developers Freeze At ODBC Setup

    I am attempting to create an ODBC connection using my local computer's Admin Tools-ODBC Connection interface. I can select the MS SQL Server driver type, enter the odbc name I want to call the connection , then click browse so to look for sql databas

  • CSS - load balance backend communication

    Hi guys, I need LB something like this in routed mode: first data flow: [client]->[vip1-c(css)]->[www1/www2] and second (backend) flow is: [www1/www2]->[vip2-c(css)]->[www3/www4] vip1,2-c = VIP address on client side www1,2,3,4 = all servers are in t

  • Facetime for iPad 2

    I want  to try my FaceTime anybody help me? My email for to try is [email protected]