从报错开始梳理用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中使用cx_Oracle连接Oracle数据库时遇到DatabaseError: DPI-1047错误,该错误表示无法找到64位Oracle客户端库。解决方法包括:确保安装了正确的Oracle客户端(如instantclient),将oci.dll、oraociei11.dll、oraocci11.dll三个扩展包复制到Python的site-packages目录下,然后重新尝试连接。按照这些步骤,可以成功建立Python与Oracle数据库的连接。
1562

被折叠的 条评论
为什么被折叠?



