import cx_Oracle

GrayGeek jkrepsBEAR at FISHneb.rr.com
Mon Nov 3 20:41:55 EST 2003


Andy Todd wrote:

> GrayGeek wrote:
> 
>> Uwe Hoffmann wrote:
>> 
>> 
>>>GrayGeek wrote:
>>>
>>>>Bernard Delmée wrote:
>>>>
>>>>
>>>>
>>>>>>It gives me an error about being unable to find the OCISetDefault
>>>>>>entry point in 'oci.dll'.
>>>>>
>>>>>cx_Oracle works on top of the regular oracle client, which you'll
>>>>>need to install before it works. The OCI libraries are parOCISetDefault
>>>>>t of that.
>>>>
>>>>
>>>>I have it installed, and have used it to create webpages using Oracle's
>>>>HTP.P function, and I also accessed tables on the Oracle9 server from
>>>>JDev9
>>>>and from PLSQLDeveloper.   The oci.dll is in the Oracle Home/dll
>>>>directory. As my first post indicated, cx_Oracle is able to see oci.dll,
>>>>it just can't communicate with it properly.
>>>>???
>>>
>>>  i think that the binaries were built against another version of oracle.
>>>  i had a similar problem with DCOracle2 (versions 8.0.5 vs. 8.1.7 or
>>>7.3.3 vs. 8.0.5).
>>>  As far as i remember OCISetDefault was one of the problematic symbols.
>> 
>> 
>> I'm hoping that we can switch from Java to Python but since we are
>> standardizing on Oracle having a reliable Python connection to Oracle 9i
>> is
>> important.   mmm... Maybe I can use PostgreSQL for a proof of concept...
> 
> Is $ORACLE_HOME/bin on your path? This is how cx_Oracle picks up the
> oci.dll. Its not necessary for the Oracle toolks like JDeveloper and
> SQL*Plus, but its essential for third party tools.

Yes.  cx_Oracle has no problem finding oci.dll, it just can find the right
'entry point'.

> 
> You don't mention which version of Oracle you are using. There are
> binaries for either Oracle 8i or 9i with Python 2.2 on the home page
> (http://www.computronix.com/utilities.shtml#Oracle) but they won't work
> with earlier versions of Oracle. Although, with a bit of luck and a
> following wind the 8i binary can be used to access a 9i database (it
> just can't do anything with the new features). But on the whole you will
> be better off getting the appropriate driver for your database version.

I started using Python 2.3 and when I ran into this problem my first tack
was to remove Python 2.3 and revert to Python 2.2, but Python 2.2 shows the
same problem.  We use both Oracle 8i and Oracle 9i.  I am attempting to
connect to my Oracle 9i database.  I have tried both binaries and the
"import cx_Oracle" dies in both using Python 2.2 against Oracle 9i.

-- 

-
GrayGeek




More information about the Python-list mailing list