Error Running 8i Pro*C Pgms on RH6.2

From: Arun <starun_at_my-deja.com>
Date: Tue, 17 Oct 2000 03:28:08 GMT
Message-ID: <8sgh03$nb6$1_at_nnrp1.deja.com>


I am facing some problems with Pro*C / Oracle  in Linux machine.

 The problem is as follows:

                     We have a product developed on Oracle on Solaris
and we want to port it to Linux. We were able to move everything  successfully to Linux except for the Pro*C programs. First there were some compilation errors, which was because the Precompiler was not able to
 resolve the size_t definition in stdio.h.

             To solve that I included the definition of size_t in stdio.h itself. Then the compilation went through. While running the programs, the cursors
 defined in the programs were not opened. The error that we got was ORA-1475 - Cursor must be reparsed. Though the same code worked on  Solaris and HP, we are not able to figure out why we are encountering this error.

             I am also attaching the sequel. Also attached is the Hardware/Software Configurations. We would really appreciate if anyone can help us out
 . It would also be helpful if you
 could also provide us with references.

 Thanks,
 Arun.
 --
 S.T.Arun



 System Configuration:

 Hardware:

         IBM PC300 Converted from Win 98 to Linux
         Intel PIII 600 Mhz.
         128 Mb RAM
         One 10 Gb HDD in 4 partitions:
 Filesystem    1k-blocks      Used Available Use% Mounted on

/dev/hda1 2016016 1515268 398336 79% /
/dev/hda7 2016016 86792 1826812 5% /home1
/dev/hda6 2016016 1271648 641956 66% /home2
/dev/hda5 3360156 723152 2466316 23% /home3

 Software:

         Operating System: RedHat Linux 6.2 Kernel 2.2.14-12 on an i686
         Oracle          : 8.1.6 Release 2 On Linux

         Oracle Resides on /home3




 The SQL

 EXEC SQL DECLARE ab_customer_cursor CURSOR FOR

         SELECT cust_code, rowidtochar(rowid)
         FROM cust_billparams
         WHERE CUST_CODE LIKE :my_cust_code
         AND prepaid = 0 AND STATUS in ('M','A','S','T')
         AND CUST_CODE IS NOT NULL ;

     EXEC SQL OPEN ab_customer_cursor;

     if ( sqlca.sqlcode != SUCCESS ) {
         sprintf(cObjects,"");
         CommonError(" Error Opening Aging Balance Cursor.",
                       "BILL2005",
                       cObjects,
                       sqlca.sqlcode,
                       ISFATAL,
                       ISDBERROR);
     }

 Table exists with the relavant fields.

 Definition of my_cust_code:

 char my_cust_code[21];

 Pro*C Code was compiled with following Options:

 PROCFLAGS= char_map=VARCHAR2 dbms=V8 define=$(PROC_DEFINE) sqlcheck=full
 mode=ORACLE include=$(INCLDIR) userid=teleprodigy/x_at_dev error=yes

 Oracle Error Code:
 01475, 00000, "must reparse cursor to change bind variable datatype"

 Pro*C Version:
 Pro*C/C++: Release 8.1.6.0.0

 ORACLE_SID and ORACLE_HOME are set appropriately.

 --
 S.T.Arun

Sent via Deja.com http://www.deja.com/
Before you buy. Received on Tue Oct 17 2000 - 05:28:08 CEST

Original text of this message