7

python 2.7とcx_oracle(Windows x86インストーラー(Oracle 10g、Python 2.7))を使用していて、次の簡単な例を機能させるのに時間がかかります。

import cx_Oracle
connection = cx_Oracle.connect('user/pass@someserver:port')
cursor = connection.cursor()
cursor.execute('select sysdate from dual')

for row in cursor:
    print row
connection.close()

エラーメッセージ:

Traceback (most recent call last):
  File "C:\ORACON.py", line 1, in <module>
    import cx_Oracle
ImportError: DLL load failed: The specified module could not be found.

今のところ、私がしたことは次のとおりです。

1)cx_oracleバイナリをインストールしました。

2)Oracle Webサイトからinstantclient_10_2をダウンロードし、パスを環境にエクスポートしました。

誰が私が欠けているものを知っていますか?

これを読んでいただきありがとうございます。

4

1 に答える 1

22

次の手順でこの問題を解決できました。

  1. OracleWebサイトからinstantclient-basic-win32-10.2.0.5をダウンロードします。

  2. oraclientという名前で私のc:\に解凍しました

  3. TNSNAMES.ORAを追加するために、ディレクトリ構造C:\ oraclient \ network\adminを作成しました

  4. C:\ oraclient \ network\adminを指すTNS_ADMINenvvarを追加しました

  5. C:\oraclient\を指すORACLE_HOMEenvvarを追加しました

その後、次のコードを使用しました。

import cx_Oracle

con = cx_Oracle.connect('theuser', 'thepass', 'your DB alias on your TNSNAMES.ORA file ')
cur = con.cursor()
if cur.execute('select * from dual'):
    print "finally, it works!!!"
else:
    print "facepalm"
con.close()

私はそれが誰かを助けることを願っています。

于 2012-12-10T13:00:30.447 に答える