Databases
cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle ProC app fails after move to 64-bit

Ian Lochray
Respected Contributor

Oracle ProC app fails after move to 64-bit

I have got an application written in C, ProC and COBOL using Oracle 9.2.0.4 on HP-UX 11.11. Until now the application has been 32-bit using the Oracle 32-bit libraries to access the 64-bit database.
I have just precompiled, compiled and linked the application using the +DA2.0W flag and the Oracle 64 bit libraries.
When I run the application it falls over with an "Attempt to access item beyond bounds of memory" error.
I checked that LD_LIBRARY_PATH and SHLIB_PATH point at the 64-bit libraries and that the executable and objects are 64-bit. Putting printfs in the application shows that is fails when it calls the Oracle function sqlcxt.
Any ideas?
4 REPLIES
Eric Antunes
Honored Contributor

Re: Oracle ProC app fails after move to 64-bit

Hi Ian,

Check this thread (it is not about Oracle but makes a call to a similar (?) function):

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=441771

Best Regards,

Eric Antunes
Each and every day is a good day to learn.
Steven E. Protter
Exalted Contributor

Re: Oracle ProC app fails after move to 64-bit

Was the data itself converted forom 32 bit word size to 64 bit word size?

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Ian Lochray
Respected Contributor

Re: Oracle ProC app fails after move to 64-bit

I have found the answer. The link string that Oracle requires for 64-bit appears to be different to the 32-bit one.
My 32-bit version just uses -L$(ORACLE_HOME)/lib32 -l clntsh
but the 64-bit one only works if I append -
`cat /ora920/app/oracle/product/9.2.0/lib/ldflags` \
`cat /ora920/app/oracle/product/9.2.0/lib/sysliblist` -lm -lpthread -lpthread
Ian Lochray
Respected Contributor

Re: Oracle ProC app fails after move to 64-bit

Stephen,
I am unsure what you mean. The database is 9i so it already 64-bit. The application was 32-bit and is now 64-bit. I have corrected all pointer/integer mis-matches etc. but I have not converted any data.