IT系ノウハウ Oracle Python その他

Python で Oracle データベースにアクセス|DPI-1047: Cannot locate a 64-bit Oracle Client library エラーの解消法, cx_Oracle

コンテンツ

事象

Python で Oracleデータベースにアクセスするためのライブラリcx_Oracleを使用すると、以下のようなエラーが発生する。

DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found".

実行例

H:\python_projects>python test.py
DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". 
See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help

解消法

cx_Oracle を利用するには、Oracleクライアントが必要。
そのため、以下URLから該当するクライアントをダウンロードし、任意の場所に配置する必要がある。

https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

www.oracle.com

そして、以下のパスを指定する一行を追記すれば事象は回避される。

cx.init_oracle_client(lib_dir=r"<パス>")

実行例

import cx_Oracle as cx
cx.init_oracle_client(lib_dir=r"C:\Program Files\Oracle\instantclient_19_14")

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-IT系ノウハウ, Oracle, Python, その他