python与oracle的交互——cx_Oracle安装与操作

本文详细介绍了如何在Python中安装和使用cx_Oracle模块与Oracle数据库进行交互,包括下载安装、解决DLL问题、连接数据库、执行SQL及实例操作。在安装过程中,特别提到了监听配置的修改,以及在执行查询时需注意的权限和表名格式。
摘要由CSDN通过智能技术生成


前言

使用爬虫等操作的最终目的是存入数据库方便日后处理,这就涉及到一个新的模块:cx_Oracle


一、cx_Oracle下载

下载地址:cx_Oracle 8.1.0

因为我使用的是python3.8,电脑为windows64位,所以选择了cx_Oracle-8.1.0-cp38-cp38-win_amd64.whl (212.1 kB)
在这里插入图片描述


二、cx_Oracle安装

1.解压文件后扔到python安装目录下

在这里插入图片描述
注意是三个文件!三个文件!三个文件!
在这里插入图片描述
处理完后执行语句发现错误提示:“ModuleNotFoundError: No module named 'cx_Oracle

在命令提示符输入“pip install cx_Oracle”:
在这里插入图片描述


2.下载dll文件扔到python安装目录下

产生上述问题后,在网上查找一圈推测是Oracle问题

其实是因为第一步只放了两个文件到site-packages,后来测试发现没有这三个dll文件也可以正常运行,为避免产生其他未知问题,建议还是下载放入dll文件

没有找到三个dll文件,直接找到对应版本在网上下载:instantclient-basic-windows.x64-11.2.0.4.0.zip


3.其他

连接数据库时提示“cx_Oracle.DatabaseError: ORA-12541: TNS: 无监听程序
原因:主要是因为默认情况下,Oracle的监听只监听本地主机连接
解决方法:将Oracle设置为监听所有IP地址
具体步骤:
(1)找到Oracle安装路径下的listener.ora文件
在这里插入图片描述
(2)修改“HOST = localhost”为“HOST = 0.0.0.0”
在这里插入图片描述
(3)我的电脑右键“管理”打开服务器,找到Oracle组件重启
在这里插入图片描述


三、使用方法

1.连接数据库

# -*- coding: UTF-8 -*-
import cx_Oracle  # 导入cx_Oracle模块
conn = cx_Oracle.connect('用户名','密码','数据库名') #连接数据库

如果想要以管理员身份登录,直接操作会提示错误信息“cx_Oracle.DatabaseError: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER”,应使用如下语句:

conn = cx_Oracle.connect('管理员账号', '密码', '数据库名',mode=cx_Oracle.SYSDBA)

2.执行sql语句

execute():执行sql语句

#执行sql语句
d1 = cur.execute("select * from tuser") 

或者

sql="select * from system.tuser"
d1 = cur.execute(sql)

值得注意的是:使用管理员账号登录时,直接使用“select * from tuser”报错:“cx_Oracle.DatabaseError: ORA-00942: 表或视图不存在”,这是因为表是属于用户的,要以“用户名.表名”的形式查询


3.输出结果

fetchall():一次返回所有的结果集
fetchone():一次返回一行

cur =conn.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值