网站首页 > 技术文章 正文
- 安装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的字符编码
猜你喜欢
- 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全库备份
- 2024-10-14 oracle死锁介绍 oracle 死锁原因
- 2024-10-14 MySQL和Oracle相关 mysql和oracle的sql语句一样吗
- 2024-10-14 oracle账户被锁定怎么解锁 oracle账户已被锁定什么意思
- 2024-10-14 Oracle数据库使用攻略 oracle数据库使用教程
- 2024-10-14 Oracle学习笔记三:PL/SQL developer工具安装
- 2024-10-14 Oracle数数据库用户管理之用户与安全性(二)
你 发表评论:
欢迎- 06-24发现一款开源宝藏级工作流低代码快速开发平台
- 06-24程序员危险了,这是一个 无代码平台+AI+code做项目的案例
- 06-24一款全新的工作流,低代码快速开发平台
- 06-24如何用好AI,改造自己的设计工作流?
- 06-24濮阳网站开发(濮阳网站建设)
- 06-24AI 如何重塑前端开发,我们该如何适应
- 06-24应届生靠这个Java简历模板拿下了5个offer
- 06-24服务端性能测试实战3-性能测试脚本开发
- 566℃Oracle分析函数之Lag和Lead()使用
- 565℃几个Oracle空值处理函数 oracle处理null值的函数
- 550℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 545℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 543℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 536℃【数据统计分析】详解Oracle分组函数之CUBE
- 526℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 519℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)