python可通过使用cx_Oracle模块对Oracle数据库进行操作。
首先,需要下载cx_Oracle模块,下载地址:https://pypi.python.org/pypi/cx_Oracle/6.0rc1

下载的时候注意版本,对照你所使用的Python版本和位数。
我所使用的是Python3.6,所以下载的版本是:cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl
然后安装即可:

python -m pip install cx_Oracle-6.0rc1-cp36-cp36m-win_amd64.whl

代码举例:

#用途:操作oracle数据库demo
import cx_Oracle
user = "yzwxceshi"
passwd = "yzwxceshi"
listener = '192.168.20.191:1521/orcl'
conn = cx_Oracle.connect(user, passwd, listener)
print(conn)
cursor = conn.cursor()
sql = "select * from T_MSIS_SM_ROLE" #一次取一条数据,row为元组数据
cursor.execute(sql)
while (1):
row = cursor.fetchone()
if row == None:
break
print(row) print("--------------------------------------")
#一次取所有数据,rows为元组列表数据
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
print(row) #支持对数据库的插入、更新和删除操作。输入操作SQL,执行无返回。
def other_operation(sql):
cursor.execute(sql)
conn.commit()
print(sql) cursor.close()
conn.close()

  

封装成类代码举例:

#oracle操作类
import cx_Oracle
class Oracle_Class:
user = "yzwxceshi"
passwd = "yzwxceshi"
listener = '192.168.20.191:1521/orcl'
conn = cx_Oracle.connect(user, passwd, listener)
cursor = conn.cursor() # 查询操作:一次性取所有数据。输入查询SQL,返回结果元组列表。
def querydata(self, sql):
list_result = []
self.cursor.execute(sql)
rows = self.cursor.fetchall()
for row in rows:
list_result.append(row)
return list_result # 支持对数据库的插入、更新和删除操作。输入操作SQL,无返回。
def other_operation(self, sql):
self.cursor.execute(sql)
self.conn.commit()
print(sql) # 关闭连接,释放资源
def close_all(self):
self.cursor.close()
self.conn.close()

  

调用代码:

#用于测试数据库操作
from oracle_class import Oracle_Class
select_sql = "select ROLE_NAME from T_MSIS_SM_ROLE"
insert_sql = "insert into T_MSIS_SM_ROLE values (14, 'role_name', '普通用户')"
update_sql = "update T_MSIS_SM_ROLE set ROLE_DESC = '测试用户' where ROLE_ID = 16"
delete_sql = "delete from T_MSIS_SM_ROLE where ROLE_ID = 15" oracle_obj = Oracle_Class()
oracle_obj.other_operation(delete_sql) list = oracle_obj.querydata(select_sql)
print(list) oracle_obj.close_all()

  

												

python之Oracle操作(cx_Oracle)的更多相关文章

  1. Python连接ORACLE操作

    一.准备工作 1.安装cx_Oracle ttps://pypi.python.org/pypi下查找cx_Oracle并下载 执行安装命令 pip install cx_Oracle-6.0rc1- ...

  2. python与Oracle

    1.python 3.6.6 2.使用cx_Oracle      -----------安装方法:pip install cx_Oracle 3.游标 cursor -----游标是系统为用户开创的 ...

  3. python 连接 Oracle 乱码问题(cx_Oracle)

    用python连接Oracle是总是乱码,最后发现时oracle客户端的字符编码设置不对. 编写的python脚本中需要加入如下几句: import os os.environ['NLS_LANG'] ...

  4. python对oracle数据库的操作

    1          Oracle数据库 1.1       Oracle环境配置&客户端连接 1.1.1          下载安装Oracle绿色版客户端instantclient: 到o ...

  5. 随笔记:如何使用Python连接(/操作)Oracle数据库(Windows平台下)

    遇到需求,我们需要用Python对Oracle数据库进行操作. 这次我们使用cx_Oracle Oracle Client 在安装cx_Oracle之前,先安装Oracle客户端. cx_Oracle ...

  6. python 连接oracle -- sqlalchemy及cx_Oracle的使用详解

    python连接oracle -- sqlalchemy import cx_Oracle as orcl import pandas as pd from sqlalchemy import cre ...

  7. python——连接Oracle数据库

    前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...

  8. [Python]查询oracle导出结果至Excel并发送邮件

    环境:Linux +python2.7+oracle11g 1.提前安装xlwt(excel写入操作模块),cx_Oracle(oracle操作模块) cx_Oracle的安装步骤详见链接:https ...

  9. Python读写oracle数据库

    最近项目中需要用到Python调用oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了.性能怎样先不说,有方法后面再调优嘛.现在把代码和注意点记录一下. 1. 所需Python工具库 cx_Ora ...

随机推荐

  1. 1115 洛谷luogu最大子段和

    题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 第一行是一个正整数NNN,表示了序列的长度. 第二行包含NNN个绝对值不大于100001000010000的 ...

  2. Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

    前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...

  3. socket实现聊天功能(二)

    socket实现聊天功能(二) WebSocket协议是建立在HTTP协议之上,因此创建websocket服务时需要调用http模块的createServer方法.将生成的server作为参数传入so ...

  4. MySQL(十三)事务处理和字符集

    一.事务处理 事务处理(transaction processing):是一种机制,用来维护数据库的完整性,管理必须成批执行的MySQL操作,以保证数据库不包含不完整的操作结果. 这样可以保证一组操作 ...

  5. [03] mapper.xml的基本元素概述

    1.select 我们基于这个持久层接口 GirlDao: public interface GirlDao { List<Girl> findByAge(int age); Girl f ...

  6. c# 设置桌面背景窗口 SetParent

    using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms ...

  7. 反射反射,程序员的快乐+反射案例:打印和Excel导出

    还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 看过设计模式的童鞋都知道:反射反射,程序员的快乐!今天我们就利用反射来制作打印 ...

  8. Ubuntu轻松编译openJDK

    花了三天在windows上搞openJDK,对bash本来就不熟,加上各种莫名依赖和脚本里的bug,身心俱疲.最后make all的时候产生一个莫名其妙的错误说什么有warning且-Werror置为 ...

  9. HAOI2016 找相同字符 后缀自动机

    两个串,考虑一建一跑.枚举模式串的位置\(i\),考虑每次统计以\(i\)结尾的所有符合要求的串.在后缀自动机上走时记录当前匹配长度\(curlen\),则当前节点的贡献是\((curlen-len[ ...

  10. sql-server安装

    ubuntu安装sql-server https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view ...