公司内网如何安装python的oracle驱动cx_Oracle?DPI-1047报错原因

     最近在做自动化时有访问数据库的需求,于是上网查找资料Python如何访问oracle数据库,得知需要先安装cx_Oracle驱动程序,再安装oracle客户端即可。

     第一步安装cx_Oracle

如果可以联网可以直接使用如下命令进行安装

pip install cx_Oracle

如果是内网想安装必须先找到离线安装包,在https://pypi.org/project/cx-Oracle网址可以直接下载当前安装的python版本对应的安装包,因为我安装的是python3.8(32-bit),所以我下载的安装包是cx_Oracle-8.3.0-cp38-cp38-win32.whl

下载完后在文件所在目录地址栏直接输入cmd,进行安装

pip install cx_Oracle-8.3.0-cp38-cp38-win32.whl
在这里插入图片描述
第二步安装Oracle客户端程序instantclient,根据Oracle服务器的版本安装对应的客户端

安装完成后

打开python,输入import cx_Oracle不报错,则表示安装成功
在这里插入图片描述
但是在连接数据库时确报错了
在这里插入图片描述
看错误提示客户端程序安装的是32位的,而Oracle服务器的版本是64位的
在这里插入图片描述
此时,就无法访问Oracle数据库,找到原因了,就明白要想访问数据库必须要安装64位的cx_Oracle,而安装64位的cx_Oracle,必现安装64位版本的python,上网在https://www.python.org/downloads/windows/重新找到python的64位版本python-3.8.10-amd64.exe,重新安装python并重新配置环境变量后,在https://pypi.org/project/cx-Oracle网址获取64位的cx_Oracle(cx_Oracle-8.3.0-cp38-cp38-win_amd64.whl)并重新安装

再次打开新安装的python后连接成功
在这里插入图片描述
连接数据库的命令格式为:

db=cx_Oracle.connect(‘用户名/密码@IP:端口号/实例名’)

或者

db=cx_Oracle.connect(‘用户名’,‘密码’,‘IP:端口号/实例名’)
数据库连接成功后就是进行数据的增、删、改、查

以查询为例,完整命令及注释如下:

#连接数据库
db=cx_Oracle.connect(‘用户名’,‘密码’,‘IP:端口号/实例名’)

#创建游标
cr=db.cursor()

#赋值SQL语句
sql=‘select * from 表名 where 查询条件’

#执行SQL
cr.execute(sql)

#获取返回结果
result=cr.fetchone()

#打印结果
print (result)

#关闭游标
cr.close()

#关闭数据库连接
db.close()
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值