>Oh Stephane, your such a woos.  I absolutely hate
>the OCI interface, talk about
>a place to blow your head off!  99.99999% of the
>time that the C compiler tosses
>a fur ball is something you've done in C that is
>wrong, although I'll admit is
>sometimes gets real hairy trying to find it.  If
>the Proc precompiler yaks the
>fur ball your use of EXEC SQL is wrong and you can
>search the .lis file looking
>for the error which start either with 'ORA-' or
>'PCC-'.  Actually 60% of you
>errors in C will get caught by the precompiler,
>such as missing semi-colons and
>quote marks and commas.  Even unbalanced braces get
>caught before you get to C. 
>BTW: since we don't have the OS your using, on M$
>the GUI will display the exact
>point where the precompiler is yacking in a pop-up
>when asked.
>
>    But if you MUST use the OCI interface, please
>do.  I have a bunch of folks
>here who swear by it, that is until they have to
>upgrade to a newer version of
>Oracle.  Then they swear at it since it will take
>them a couple of weeks to edit
>out all of the no longer supported calls.  While at
>the same time I'm up and
>running once again in a few hours.  I've got two
>"playtime" programs that I
>originally wrote on Oracle 5.  The Pro*C one has
>not changed a single byte &
>still runs very nicely on 9i after a precompile &
>compile.  The OCI one has
>changed every time I've upgraded and this last
>upgrade took me a whole day to
>find all of the dead calls.  UGLY!
>
>Dick Goulet
>

:-). I must admit that I loved the Oracle7 OCIs (fortunately still available in the 
libraries) much more than the so called 'Oracle8' ones ... Functions which only take 
void * (or sometimes void **) pointers are not exactly a pleasure to work with, and I 
have a special vivid remembrance of the direct load interface where the data type is 
coded on 2 bytes in one function and 4 in another (passed as void *, of course, to be 
certain that the compiler sees nothing ... kind of stealth technology ...). Took 2 
days to understand the core dump ...
That said, for the weird stuff I affectionate (wildly multithreaded fully dynamic 
things where I need to keep close control on memory) OCIs are hard to beat, once of 
course you have set-up your own, clean, building blocks.
  And concerning portability, my experience is a bit different. I have precisely 
initially switched to the OCIs (never practiced HLI, this still were my Pro*C days) 
out of frustration with the makefiles at some change of pcc release. Desupported 
functions survive longer than documented.

Regards,

Stephane Faroult
Oriole
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to