Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Q: eXt. Procs. - callbacks
A copy of this was sent to "huh" <huhh>
(if that email address didn't require changing)
On Thu, 5 Aug 1999 09:38:14 +0200, you wrote:
>
>Thomas,
>
>Does it mean that there are three call level interfaces for ORACLE
>- OCI, ODBC, SQLLIB?
>IMO, If Pro*C is a preprocessor, it is possible to code directly - using
>the sqllib calls (- skipping the preprocessing phase).
>
ODBC is not a call level interface for Oracle that we maintain directly. ODBC is an API that is layered on top of OCI by people.
OCI is the Oracle Call Interface, this is the lowest level interface you as a programmer can code to directly. It is layered on top of Oracle's internal API called UPI/OPI. If you want to code natively in C with no pre-processor, this is what you would use.
The precompiler folks have their own (undocumented) API called SQLLIB. You cannot code to SQLLIB yourself. SQLLIB is a layer on top of UPI/OPI. It is what pro*c and the other precompilers "precompile" into. You cannot code (nor would there be any good reason to) directly to SQLLIB. If you want to code directly to an API, you would use the documented and supported OCI layer.
>To maintain three interfaces for many platforms seems to be a hard job...
>
It is fairly portable C code. OCI is not a good candidate for Pro*C to precompile into. The Pro developers have an API that is easy for a program to generate calls to. OCI is written for the developer themself to generate calls to.
>>
>> it replaces PROC with sqllib calls -- sqllib being sort of like OCI but
>> different. It is an internal api that is gets translated to.
>>
--
See http://govt.us.oracle.com/~tkyte/ for my columns 'Digging-in to Oracle8i'...
Current article is "Part I of V, Autonomous Transactions" updated June 21'st
Thomas Kyte tkyte_at_us.oracle.com Oracle Service Industries Reston, VA USA
Opinions are mine and do not necessarily reflect those of Oracle Corporation Received on Thu Aug 05 1999 - 07:16:00 CDT
![]() |
![]() |