win7下使用python连接oracle数据库

连接oracle数据库需要安装第三方库cx_Oracle,查看python版本及位数,在cmd命令下输入:python

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>python
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

cx_Oracle的下载地址:https://pypi.org/project/cx-Oracle/#files ,我所安装的python版本是3.7,64位,所以下载了cx_Oracle-7.2.0-cp37-cp37m-win_amd64.whl 。
安装cx_Oracle,在cmd命令下输入:pip install dir\cx_Oracle-7.2.0-cp37-cp37m-win_amd64.whl,其中dir为存放cx_Oracle的文件夹路径,安装whl文件需要先安装wheel第三方库。

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>pip install dir\cx_Oracle-7.2.0-cp37-cp37m-win_amd64.whl

安装好后在python环境下运行出现cx_Oracle.DatabaseErrorDPI-1047: Cannot locate a 64-bit Oracle Client library错误:

>>> import cx_Oracle
>>> conn = cx_Oracle.connect('用户名/密码@IP地址/数据库实例',encoding = 'utf-8')
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    conn = cx_Oracle.connect('用户名/密码@IP地址/数据库实例',encoding = 'utf-8')
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "D:\oracle\ora92\bin\oci.dll is not the correct architecture". See https://oracle.github.io/odpi/doc/installation.html#windows for help

经过查找发现,我的电脑已安装了plsql,其中oracle客户端为32位。下载64位的oracle客户端,然后在电脑的环境变量path中添加64位客户端的文件夹路径,配置好以后不会影响原plsql的使用。
经过以上配置,python就可以成功连接上oracle数据库,可用以下代码进行验证。

import cx_Oracle

#连接数据库
conn = cx_Oracle.connect('用户名/密码@IP地址/数据库实例',encoding = 'utf-8') #utf-8显示中文
#打开游标
curs= conn.cursor()
#sql语句
sql = 'select * from test_data'
#执行sql语句
curs.execute(sql)
#fetchall获取所有结果
rows = curs.fetchall()
#打印第一行
print(rows[1])
#关闭游标
curs.close()
#关闭数据库连接
conn.close()

rows = curs.fetchall()返回的结果是list类型。

>>> type(rows)
<class 'list'>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值