网站首页 > 技术文章 正文
- 安装cx_Oracle
- Python 连接oracle不仅需要安装cx_Oracle模块,还需要Oracle Client;在oracle官网上下载instantclient-basic,注意对应版本号,然后解压文件,把其中的oci.dll,oraocci12.dll,oraociei12.dll,oraons.dll(12是我下载的版本号)文件复制到Python安装目录\lib\site-packages下,然后再下载安装cx_Oracle模块
2.连接数据库
连接数据库有三种方式:
(1)用户名、密码和监听写在一起(user/passwd@host/orcl)
import cx_Oracle as db conn = db.connect('user/passwd@host/orcl')
(2)用户名、密码和监听分开(‘user’,‘passwd’,'host/orcl')
import cx_Oracle as db conn = db.connect('user','passwd','host/orcl')
(3)配置监听并连接(makedsn('host',1521,'orcl')
import cx_Oracle as db tns = db.makedsn('host','1521','orcl') conn = db.connect('user','passwd',tns)
3.创建cursor,执行sql语句
cur = conn.cursor() cur.execute('select * from table') result = cur.fetchall() #获取全部查询结果 re1 = cur.fetchone() #获取第一行查询结果,没执行一次,游标就从表中第一条数据移动到下一条,即再执行的时候就得到第二条数据,第三次执行的时候就得到第三条数据;
4.关闭游标,关闭连接
cur.close() conn.close()
操作整体流程是:
import cx_Oracle # 导入库 conn = cx_Oracle.connect('user','passwd','host/orcl') #连接数据库 cur = conn.cursor() #创建游标 sql = 'select /insert/delete .......' #sql语句 cur.execute(sql) #执行sql语句 result = cur.fetchall()/fetchone() #获取数据 cur.close() #关闭游标 conn.close() #关闭数据库
如果查询出来的结果有乱码问题,python源文件的字符集密码和oracle不一致,可以在建立连接前添加:
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8' 或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'
该图为oracle的字符编码
猜你喜欢
- 2025-07-09 常见web安全问题,SQL注入、XSS、CSRF,基本原理以及如何防御
- 2025-07-09 Syslog 日志分析与异常检测技巧(syslog日志解析)
- 2025-07-09 低代码建模平台-数据挖掘平台(低代码开发平台是什么意思)
- 2025-07-09 mysql主从(MYsql主从老是失效)
- 2025-07-09 MyEclipse数据库教程:在MyEclipse中连接数据库
- 2025-07-09 oracle dblink的创建方式(oracle中dblink创建)
- 2024-10-14 oralce用户的介绍 ora-01917:user or role
- 2024-10-14 查询所有用户的表,ORACLE下有三个视图
- 2024-10-14 Linux新手入门系列:linux下Oracle定时备份
- 2024-10-14 Oracle 设置RMAN备用用户 oracle rman全库备份
你 发表评论:
欢迎- 652℃几个Oracle空值处理函数 oracle处理null值的函数
- 644℃Oracle分析函数之Lag和Lead()使用
- 642℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 634℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 629℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 615℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 615℃【数据统计分析】详解Oracle分组函数之CUBE
- 590℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)