Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Architecture was: Re: Q: eXt. Procs. - callbacks

Re: Architecture was: Re: Q: eXt. Procs. - callbacks

From: huh <huhhy_at_rocketmail.com>
Date: Fri, 6 Aug 1999 10:16:00 +0200
Message-ID: <7oe5lj$r06$1@ns.felk.cvut.cz>


Thomas,

->> Off topic section-
PLEASE turn off the settings responsible for copying my address in your message...
You are right my address is in a header together with "X-no-spam: yes" option.
This express my wish not to be spammed. More spambots volunterily respect this.
Unfortunately I have no power to prohibit these which don't respect this. My experience led me to believe that everywhen, after my address had appeared
in a message, I get 10-20 additional bull-shit messages. - End of off topic <<-

>
> 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.
>

I looked at Oracle Net8 Administrator's Guide, figure 2-6 Typical Communications Stack in an Oracle environment.

Could you tell us which layer provides UPI/OPI APIs?

>
> 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.
>

So SQLLIB would be at the same level as the OCI at figure 2-6, wouldn't it?

>
> It is fairly portable C code.
>

Portability is ensured by preprocessor. However development tends to C++. What about the C++ support? Class libraries...?

>
> 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.
>

Mhhhhhh. Could you give us an example where OCI doesn't suite well for preprocessor and how SQLLIB solves this?

>
> 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.
>

IMO it depends how the driver was written. I don't have a crystal understanding of Client Side Communication Stack but it must be possible to write an ODBC driver which will reside at the same level as OCI and communicate with the same layer as OCI does (UPI/OPI). It is no problem for ORACLErs, however for independent ODBC driver vendors it depends on knowledge they can only get from ORACLErs

BTW: Server side OPI interface. Can I find any documentation somewhere?

--
Thank you for keeping >anti-spam< habit: not including my address in your reply. Received on Fri Aug 06 1999 - 03:16:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US