467,116 Members | 1,135 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,116 developers. It's quick & easy.

import cx_Oracle

After cx_Oracle and the related Oracle tools for Python 2.2.3 +
Boa-constructor on Win2000, I added
"import cx_Oracle"
to the top of a test script.
It gives me an error about being unable to find the OCISetDefault entry
point in 'oci.dll'.
Google says nothing about this error, and neither does the cx_Oracle author.
Anyone have a solution for this problem?

--

-
GrayGeek
Jul 18 '05 #1
  • viewed: 8543
Share:
10 Replies
> 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 part of that.

Jul 18 '05 #2
Bernard Delm閑 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 part 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.
???
--

-
GrayGeek
Jul 18 '05 #3
GrayGeek wrote:
Bernard Delm閑 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.

Jul 18 '05 #4
Uwe Hoffmann wrote:
GrayGeek wrote:
Bernard Delm閑 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...
--

-
GrayGeek
Jul 18 '05 #5
GrayGeek wrote:
Uwe Hoffmann wrote:

GrayGeek wrote:
Bernard Delm閑 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.

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.

Regards,
Andy
--
--------------------------------------------------------------------------------
From the desk of Andrew J Todd esq - http://www.halfcooked.com/

Jul 18 '05 #6
Waldemar Osuch wrote:
GrayGeek <jk********@FISHneb.rr.com> wrote in message
news:<Pq********************@twister.rdc-kc.rr.com>...
Andy Todd wrote:
> GrayGeek wrote:
>
>> Uwe Hoffmann wrote:
>>
>>
>>>GrayGeek wrote:
>>>
>>>>Bernard Delm閑 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.


I had similar problem once on a machine with two Oracle installations.
cx_Oracle was finding oci.dll all right but it was the wrong one.
When I found a machine with only one version of Oracle the problem
went away.
After this hurdle was over I had nothing but positive impressions from
using cx_Oracle module.

waldemar


mmm... the only Oracle onnection on my box is for the 9i database.

--

-
GrayGeek
Jul 18 '05 #7
GrayGeek wrote:
Waldemar Osuch wrote:

GrayGeek <jk********@FISHneb.rr.com> wrote in message
news:<Pq********************@twister.rdc-kc.rr.com>...
Andy Todd wrote:
GrayGeek wrote:
>Uwe Hoffmann wrote:
>
>
>
>>GrayGeek wrote:
>>
>>
>>>Bernard Delm閑 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.


I had similar problem once on a machine with two Oracle installations.
cx_Oracle was finding oci.dll all right but it was the wrong one.
When I found a machine with only one version of Oracle the problem
went away.
After this hurdle was over I had nothing but positive impressions from
using cx_Oracle module.

waldemar

mmm... the only Oracle onnection on my box is for the 9i database.


So, just to clarify, on your Windows box you now have *only* Python 2.2
and the Oracle 9i client? I'm presuming also that your database is on
another machine. And you've installed the appropriate cx_Oracle binary?
Works for me;

PythonWin 2.2.1 (#34, Apr 9 2002, 19:34:33) [MSC 32 bit (Intel)] on win32.
Portions Copyright 1994-2001 Mark Hammond (mh******@skippinet.com.au) -
see 'Help/About PythonWin' for further copyright information.
import cx_Oracle
cx_Oracle.version '3.1' db=cx_Oracle.connect('andy/andy@melchett')
cursor=db.cursor()
cursor.execute("SELECT user FROM dual") [<StringVar object at 0x012AAF08>] print cursor.fetchall() [('ANDY',)]


I also tried it with cx_Oracle version 2.5a, and then on my other
machine with Python 2.3, the 9i client and version 3.0a of cx_Oracle.

So, my guess is that you are still suffering from a DLL confusion
(somewhere).

Regards,
Andy
--
--------------------------------------------------------------------------------
From the desk of Andrew J Todd esq - http://www.halfcooked.com/

Jul 18 '05 #8
Andy Todd wrote:
GrayGeek wrote:
Waldemar Osuch wrote:

GrayGeek <jk********@FISHneb.rr.com> wrote in message
news:<Pq********************@twister.rdc-kc.rr.com>...

Andy Todd wrote:
>GrayGeek wrote:
>
>
>>Uwe Hoffmann wrote:
>>
>>
>>
>>>GrayGeek wrote:
>>>
>>>
>>>>Bernard Delm閑 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.

I had similar problem once on a machine with two Oracle installations.
cx_Oracle was finding oci.dll all right but it was the wrong one.
When I found a machine with only one version of Oracle the problem
went away.
After this hurdle was over I had nothing but positive impressions from
using cx_Oracle module.

waldemar

mmm... the only Oracle onnection on my box is for the 9i database.


So, just to clarify, on your Windows box you now have *only* Python 2.2
and the Oracle 9i client? I'm presuming also that your database is on
another machine. And you've installed the appropriate cx_Oracle binary?
Works for me;


Your assumptions are correct. But, it doesn't work for me.

PythonWin 2.2.1 (#34, Apr 9 2002, 19:34:33) [MSC 32 bit (Intel)] on
win32. Portions Copyright 1994-2001 Mark Hammond
(mh******@skippinet.com.au) - see 'Help/About PythonWin' for further
copyright information.
>>> import cx_Oracle
>>> cx_Oracle.version '3.1' >>> db=cx_Oracle.connect('andy/andy@melchett')
>>> cursor=db.cursor()
>>> cursor.execute("SELECT user FROM dual") [<StringVar object at 0x012AAF08>] >>> print cursor.fetchall() [('ANDY',)] >>>


I also tried it with cx_Oracle version 2.5a, and then on my other
machine with Python 2.3, the 9i client and version 3.0a of cx_Oracle.

So, my guess is that you are still suffering from a DLL confusion
(somewhere).


Probably true, but JDev9 and PSQLDeveloper doesn't have any connection
problems.
??

--

-
GrayGeek
Jul 18 '05 #9
[snip]
mmm... the only Oracle onnection on my box is for the 9i database.


So, just to clarify, on your Windows box you now have *only* Python 2.2
and the Oracle 9i client? I'm presuming also that your database is on
another machine. And you've installed the appropriate cx_Oracle binary?
Works for me;

Your assumptions are correct. But, it doesn't work for me.

PythonWin 2.2.1 (#34, Apr 9 2002, 19:34:33) [MSC 32 bit (Intel)] on
win32. Portions Copyright 1994-2001 Mark Hammond
(mh******@skippinet.com.au) - see 'Help/About PythonWin' for further
copyright information.
>>> import cx_Oracle
>>> cx_Oracle.version

'3.1'
>>> db=cx_Oracle.connect('andy/andy@melchett')
>>> cursor=db.cursor()
>>> cursor.execute("SELECT user FROM dual")

[<StringVar object at 0x012AAF08>]
>>> print cursor.fetchall()

[('ANDY',)]
>>>


I also tried it with cx_Oracle version 2.5a, and then on my other
machine with Python 2.3, the 9i client and version 3.0a of cx_Oracle.

So, my guess is that you are still suffering from a DLL confusion
(somewhere).

Probably true, but JDev9 and PSQLDeveloper doesn't have any connection
problems.
??


Well, you've got me beaten. I tried to break my system by downloading
the Windows binary for Python 2.2 and Oracle8i, even though I have the
9i client - and it still worked.

The only combination I haven't tried, and I'm not going to, is the
cx_Oracle binary built against the Oracle9i client with the Oracle8i
client software which I suspect would break in the manner you describe.

As many people are successfully using cx_Oracle and you are the only one
seeing this problem I still suspect the solution to your problem is in
the combination of software you have running on your machine rather than
a bug in cx_Oracle, Python or Oracle.

Officially-throwing-in-the-towel-ly y'rs,
Andy
--
--------------------------------------------------------------------------------
From the desk of Andrew J Todd esq - http://www.halfcooked.com/

Jul 18 '05 #10
Andy Todd wrote:
[snip]
mmm... the only Oracle onnection on my box is for the 9i database.
So, just to clarify, on your Windows box you now have *only* Python 2.2
and the Oracle 9i client? I'm presuming also that your database is on
another machine. And you've installed the appropriate cx_Oracle binary?
Works for me;

Your assumptions are correct. But, it doesn't work for me.

PythonWin 2.2.1 (#34, Apr 9 2002, 19:34:33) [MSC 32 bit (Intel)] on
win32. Portions Copyright 1994-2001 Mark Hammond
(mh******@skippinet.com.au) - see 'Help/About PythonWin' for further
copyright information.
>>> import cx_Oracle
>>> cx_Oracle.version
'3.1'
>>> db=cx_Oracle.connect('andy/andy@melchett')
>>> cursor=db.cursor()
>>> cursor.execute("SELECT user FROM dual")
[<StringVar object at 0x012AAF08>]
>>> print cursor.fetchall()
[('ANDY',)]
>>>

I also tried it with cx_Oracle version 2.5a, and then on my other
machine with Python 2.3, the 9i client and version 3.0a of cx_Oracle.

So, my guess is that you are still suffering from a DLL confusion
(somewhere).

Probably true, but JDev9 and PSQLDeveloper doesn't have any connection
problems.
??


Well, you've got me beaten. I tried to break my system by downloading
the Windows binary for Python 2.2 and Oracle8i, even though I have the
9i client - and it still worked.

The only combination I haven't tried, and I'm not going to, is the
cx_Oracle binary built against the Oracle9i client with the Oracle8i
client software which I suspect would break in the manner you describe.

As many people are successfully using cx_Oracle and you are the only one
seeing this problem I still suspect the solution to your problem is in
the combination of software you have running on your machine rather than
a bug in cx_Oracle, Python or Oracle.

Officially-throwing-in-the-towel-ly y'rs,
Andy


Thanks for the effort, Andy. I think I will uninstall everything (except my
Oracle client) and reinstall.... again. Ya never know. That MS register
can do funny things....
--

-
GrayGeek
Jul 18 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Greg Lindstrom | last post: by
1 post views Thread by Maxim Kuleshov | last post: by
5 posts views Thread by Daniel | last post: by
4 posts views Thread by Steve | last post: by
1 post views Thread by ywhpaul@gmail.com | last post: by
7 posts views Thread by Carl K | last post: by
reply views Thread by M.-A. Lemburg | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.