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.