Python连接Oracle数据库

一、环境
1.1 Python 3.7.2 64位,下载地址:
https://www.python.org/ftp/python/3.7.2/python-3.7.2-amd64.exe
1.2 Oracle客户端 64位,下载地址:
官网:http://download.oracle.com/otn/nt/instantclient/11204/instantclient-basic-windows.x64-11.2.0.4.0.zip
官网可能需要注册:https://download.csdn.net/download/weixin_40874592/10885914
1.3 注意位数一定要保持一致
二、代码

#coding=UTF-8
import cx_Oracle
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
conn=cx_Oracle.connect('用户名/密码@IP:端口号/服务名')
c=conn.cursor()
x=c.execute('select * from t_user')
while (1):
    rs=x.fetchone()
    if rs==None:break
    print(rs)
c.close()
conn.close()

2.1 解决乱码问题
os.environ[‘NLS_LANG’] = ‘SIMPLIFIED CHINESE_CHINA.数据库编码格式’
Oracle数据库编码格式,否则查询出的数据会乱码,数据库编码格式查询
SELECT value$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’ ;
2.2连接
conn=cx_Oracle.connect(‘用户名/密码@IP:端口号/服务名’)
2.3 执行查询sql
x=c.execute(‘select * from t_user’)
2.4 输出
三、异常
3.1 cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: “The specified module could not be found”. See https://oracle.github.io/odpi/doc/installation.html#windows for help
解决方法一:将Oracle客户端安装路径下的所有ddl文件放到项目工作空间下
Lib\site-packages\文件夹里。
解决方法二:配置环境变量,将Oracle客户端安装路径(例:D:\SoftWare\instantclient_11_2)配置到path里。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值