python-cx_oracle报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "

场景再现:

python-cx_oracle报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "

解决方案:

一、检查本地是否安装Oracle,如果安装,检查版本是否和python一样都,都是64位。

二、如果本地没有安装Oracle,则需要安装。一下为安装方式:

我们考虑安装Oracle Instant Client(轻量级客户端,占用空间极少)

安装包下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

下载instantclient-basic-windows.x64-11.2.0.4.0(或者相近的版本)即可

具体安装步骤:

1、将下载的压缩包,放到目录 E:\Oracle下,解压,生成instantclient_11_2文件夹,即:E:\Oracle\instantclient_11_2

2、修改系统变量

1> 将E:\Oracle\instantclient_11_2添加到系统变量PATH中

2> 新增系统变量

NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252   -->> 服务器端字符集

TNS_ADMIN=E:\Oracle\instantclient_11_2       -->> 指定tnsnames.ora所在位置

注意:修改系统变量之后,要检查一下是否生效,如果没有生效,则多试几次,实在不行则重启电脑。

3、在E:\Oracle\instantclient_11_2 下新建tnsnames.ora配置文件,内容如下:

 

orcl =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = testdb)

    )

  )

 

4、重启Pycharm(必须重启,否则还是会报错)

你可能感兴趣的:(自动化测试之路)