之前看了15分钟解决此问题,DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be-CSDN博客的办法,确实能用。但是打开PL/SQL Developer就会出现错误。
上面是我的version。原文章里面用了instantclient_11_2,而我用的是instantclient_12_2,好像这个才能有匹配64位,我尝试过用11.2,还是不行。12.2的客户端我上传了,要上传11.2的,上传不了。
原文章里面有个问题就是建立环境变量,这个变量建立后,PL/SQL Developer就不能用了,会出现12154的错误,需要把环境变量删除掉才可以。
上图是原文章的,我用的是12_2。删除后,重新启动电脑就可以用PL/SQL Developer了。这个时间得想如何让Python继续可以连接Oracle数据库。
import cx_Oracle
# 连接字符串的格式为:用户名/密码@数据库主机IP:端口/服务名
cx_Oracle.init_oracle_client(lib_dir=r"D:\app\YBK\product\instantclient_12_2")
connection_str = 'SYSTEM/XXXXX@//主机名:1521/orcl'
我采用的是指定客户端的代码。其他内容参考原文章。
至此,电脑就可以用Python和PL/SQL Developer同时连接Oracle 32位的数据库了。
使用过程出现了错误:
那只能忽略它了:
try:
cx_Oracle.init_oracle_client(lib_dir=r"D:\app\YBK\product\instantclient_12_2")
except:
pass