【cx_Oracle】DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified mod

从报错开始梳理用Python连接Oracle数据库

【操作步骤】

1.搭建环境:

win7-64、python-3.7.3、Oracle客户端:instantclient

2.下载库包:

python -m pip install cx_Oracle

3.导入模块:

import cx_Oracle

4.建立连接:

db = cx_Oracle.connect(“username”,“password”,“hostname/service_name”)

5.创建游标:

cursor = db.cursor()

6.执行事务:

#执行SQL语句
cursor.execute(sql)
#获取一条结果
cursor.fetchone()
#获取全部结果
cursor.fetchall()

7.关闭资源
db.close()

import cx_Oracle
conn = cx_Oracle.connect("root","rootroot","192.168.110.110/orcl")
cursor = conn.cursor()
sql = "select * from T1"
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
    pass
conn.close()

以上步骤是标准步骤,但是需要一些小的处理技巧。如果你导入库之后直接建立连接,会报如下错误:

DatabaseError: 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

如果出现这条报错,说明python和oracle客户端还是没有建立连接,需要将扩展包导入到python放包的目录,操作如下:
1.找到oracle客户端安装路径,复制三个扩展包,分别为:oci.dll、oraociei11.dll、oraocci11.dll
2.找到python的~/lib/site-packages/,粘贴三个扩展包
3.重新建立连接即可
同样,因为我电脑里面本身就有这些环境,所以并没有发生其他的错误,比较顺利。

你可能感兴趣的:(Python)