Re: Why use OCI when there's Pro*C ?

From: Jean Anderson <jean_at_seismo.CSS.GOV>
Date: 27 Feb 93 01:12:16 GMT
Message-ID: <52093_at_seismo.CSS.GOV>


In In article <C30G2J.Avv_at_jbecpor.demon.co.uk> smj_at_jbecpor.demon.co.uk (Martin Jarvis) writes:
> Why do people use C and OCI when they could use Pro*C ?
> What can you do with OCI that you cant do in Pro*C ?
>
> These are questions I have asked many times but can find no answer.

We mix OCI and PRO*C. Our PRO*C libraries include OCI hooks. Our OCI libraries include PRO*C hooks. That way can users link in their own functions written in whichever interface they prefer.

PRO*C: - No #defines, #typedefs, or structures (I thought I heard support

           for structures might be coming some time soon?).
         - Node name has to be hardcoded; i.e. you can't do
               EXEC SQL AT :db_name SELECT ....
           I heard this is supposed to change in a future precompiler release.
	 - Host variables cannot be parameters to a function.
         - Difficult to debug since debuggers run on the processed file, not
           on the embedded sql file.

OCI:     - Has full support for C.
         - Much easier to manage in a debugger.
         - Has some functionality that PRO*C does not, such as obreak() for 
           query cancellation.

My $.02,

  -jean

+-----------------------------------------------------------------------+
| Jean Anderson, DBA                       email:  jean_at_esosun.css.gov  |
| SAIC Open Systems Division, MS A2-F                                   |
| 10210 Campus Point Drive                 phone:  (619)458-2727        |
| San Diego, CA  92121                       fax:  (619)458-4993        |
+-----------------------------------------------------------------------+
Received on Sat Feb 27 1993 - 02:12:16 CET

Original text of this message