[comp.databases] Problems with the Oracle Call Interface

philip@itd.dsto.oz (06/16/90)

To anyone who knows anything about the Oracle Call Interface ...

We have built most of an interface to give access to Oracle
from NU-Prolog, a locally produced Prolog system.  We access
Oracle through the Oracle Call Interface (OCI).  The only
reason I said `most of an interface' is because we are unable
to find a way using OCI to determine the scale and precision
of numeric columns in select statements.  The OCI function odsc
that provides all the other data type information does not
provide scale and precision.  Because the columns may be derived
using expressions, a simple query to the system tables will not
provide the required information.

The information we have got from Oracle on this problem has been
of little use.  First we were told that we should be using Pro*C.
We explained that we wanted the efficiency and flexibility of
direct access through OCI.  We were also told that very little use
was made of OCI in the Oracle user community and that maintenance
(and knowledge within Oracle?) of OCI was at a correspondingly
low level.  We were then told of a function call sqlprc that
provided scale and precision.  (This was the _only_ information
with which we were provided - not even anything about call vectors).
We eventually discovered that this was a Pro*C function - to our
knowledge, the arguments it is applied to in Pro*C are not
available in OCI.  We have investigated converting to Pro*C,
but problems with efficiency and error handling arise.

... we would appreciate any assistance with this problem.

--
Philip Dart,                                    E-Mail: philip@itd.dsto.oz.AU
Information Technology Division,                Phone:  +618 259 7017
Defence Science and Technology Organisation,    Fax:    +618 259 5980
P.O. Box 1600, Salisbury, 5065, Australia.