Path: utzoo!attcan!uunet!samsung!brutus.cs.uiuc.edu!apple!oracle!news From: ltung@oracle.com (Lei Tung) Newsgroups: comp.databases Subject: Re: Oracle/OCI Message-ID: Date: 17 Nov 89 21:25:07 GMT References: <13485@hercules.csl.sri.com> <1989Nov17.124316.15019@viusys.uucp> Sender: news@oracle.com Organization: Oracle Corporation Lines: 66 In-reply-to: rwb@viusys.uucp's message of 17 Nov 89 12:43:16 GMT In article <24@viusys.UUCP> rwb@viusys.uucp (Rick Butland) writes: > Obviously I don't speak for Oracle, but I've heard that OCI will be > phased out when the precompiler interface (Pro*C) is as capable as the > OCI. Oracle's call interface (OCI) will NOT be phased out anytime in the foreseeable future. There is no reason to since it is such a thin layer above Oracle's User Program Interface (UPI) layer which is obviously here to stay. OCI will continue to be supported for C and FORTRAN (at least). There are uncountable applications written in OCI out in the field. They will not be left hanging. > I really don't have any reason to disbelieve that as supporting two > different products with essentially the same function is a waste. OCI is far less than a product, just a few simple hooks into the UPI. > Personally, I've always recommended to my customers that they use the > Pro*C interface for the reasons that you cite, namely better technical > support, and the ease-of-use considerations. Agreed. > If they ever encounter a situation where they need some functionality > that only OCI can provide, then learn and use OCI to fulfill that > need. The situations that I've encountered where PCC breaks down have been when recursion is involved, or when the user needs very fine control over cursors (for instance, pushing then onto a stack). > I think that Pro*C covers most requirements. As for efficiency, > you're probably right, I'd tend to believe that OCI is more efficient > than Pro*C, but I really haven't evaluated that in any depth. In most cases embedded SQL (and PCC) will produce object code which is just as efficient as good OCI code (if you overlook the UGLINESS of the generated C or FORTRAN code). Again, if you need absolute control over when cursors are allocated, parsed, bound (variables), and executed then you may want to use OCI. PCC does a good job (if you use the EXEC SQL options wisely), but you never know EXACTLY which UPI calls it will make. > I personally feel that, in most cases, the efficiency (possibly) lost > is more than made up for by the gains in programmer productivity. CPU > time is cheap, programmer's time is not. Very true. This is how we feel also. Hope this helps, Lei Tung Unix Development Oracle Corp. -- *------------------------------------------------------------------------* | email: ltung@oracle.com | | or: {hplabs,apple,pacbell,mit-eddie,uunet}!oracle!ltung | | | | It'll all work out, | | you know I'm a little freaked out . . . | | - D. B. | *------------------------------------------------------------------------*