事象
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
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")