问题记录

通过安装Oracle客户端,通过Python去连接oracle数据库报错如下:

C:\Users\win>D:/Users/win/AppData/Local/Programs/Python/Python37/python.exe d:/python/xunjian-md-Oracle/check_db_md.py
正在巡检主机100.100.100.38-Oracle,巡检过程需要几分钟时间,请稍等...
100.100.100.38 DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help SQL语句:select open_mode from v$database

DPI-1047: Cannot locate a 64-bit Oracle Client library

通过查看官方文档,是因为无法决定客户端的版本而造成的,而造成无法决定客户端版本原因有两种,如下:

  • 1.Oracle Client library version is too old (prior to 10g) --客户端太老–10g之前
  • 2.entirely unsupported (such as Oracle Client 19 and Windows 7). --在win7上安装了19c的客户端,win7不支持19c客户端

解决方法

1.升级客户端

2.升级操作系统或降低客户端版本,但是不能低于连接客户端的数据库版本,建议11.2及以上版本。