cx_Oracle連接數據庫時報錯: cx_Oracle.DatabaseError: DPI-1047


一、查看版本

首先,查看python版本與Oracle的客戶端是否都是64位或者32位

查看python安裝目錄

pip --version

二、下載Oracle客戶端

1、查看oracle版本

SELECT * FROM v$version;

查詢出的oracle版本是19,於是需要下載對應的版本,下載地址:

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

添加環境變量,將下載好的客戶端解壓,並將其添加進環境變量,比如:C:\tool\instantclient-basic-windows.x64-19.11.0.0.0dbru\instantclient_19_11

三、下載cx_Oracle

查看到windows為64位,然后python是3.8版本64位,於是選擇cx_Oracle也應該是與python對應的版本。

下載地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook

安裝cx_Oracle包,注意安裝的時候,最好是下載后在用pip執行安裝命令,否則可能會報錯。

pip install C:\tool\cx_Oracle-8.2.0-cp38-cp38-win_amd64.whl

然后確認是否添加oracle客戶端的環境變量

四、添加oracle客戶端.dll文件至python目錄

把oracle客戶端的安裝文件中以.dll結尾的文件復制到python的安裝目錄中

五、分析思路

1、查看加載的環境變量

查看python是否加載了環境變量

import os
os.environ

2、查看加載的客戶端版本

注意,navicate和python程序加載的版本不相同。例如:

python加載的版本是instantclient_11_2,所以此時需要將instantclient_11_2文件夾下的dll文件拷貝至python的安裝目錄中

navicate加載的版本是instantclient_12_2

參考:https://blog.csdn.net/niko_csdn/article/details/104271908


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM