Python如何应用cx_Oracle获取oracle中的clob字段问题


Posted in Python onAugust 27, 2019

最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下:

cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME')
import cx_Oracle
db1=cx_Oracle.connect('yang','yang','127.0.0.1:1523/yangdb')
db2=cx_Oracle.connect('yang/yang@127.0.0.1:1523/yangdb')
对于dsn 方式:
makedsn(IP/HOST,PORT,TNSNAME)
dsn=cx_Oracle.makedsn('127.0.0.1','1523','yangdb')
db3=cx_Oracle.connect('yang','yang',dsn)
例子:
oracle@rac3:/home/oracle/python>vim conndb4.py 
import cx_Oracle
username = "yang"
pwd = "yang"
--建立连接
dsn=cx_Oracle.makedsn('127.0.0.1','1523','yangdb')
db1=cx_Oracle.connect(username,pwd,dsn)
--获取游标
cursor = db1.cursor() 
--执行查询
sql = "select * from tab" 
cursor.execute(sql)
--获取数据 ,可以有多种方式 fetchall(),fetchmang(N)(N 为正整数),fetchone()
result = cursor.fetchall() 
count = cursor.rowcount

在自己进行cursor.fetchall()操作后,得出result如下:

('HAD_ZYBJ_420_0003', 'HAD_LINK_TEMPLATE', 'TYPE', 1, 'LINK_PID', None, 'TYPE', '值域检查', '道路基本属性检查', 'Fatal', 'TYPE字段存在非0、1、2的值', <cx_Oracle.LOB object at 0x00000000071E2170>)
('HAD_ZYBJ_420_0004', 'HAD_LINK_TEMPLATE', 'LANE_NUM', 1, 'LINK_PID', None, None, '非空检查', '道路基本属性检查', 'Fatal', 'LANE_NUM字段不能为空', <cx_Oracle.LOB object at 0x00000000071E2190>)
('HAD_ZYBJ_420_0005', 'HAD_LINK_TEMPLATE', 'SEQ_NUM', 1, 'LINK_PID', None, None, '非空检查', '道路基本属性检查', 'Fatal', 'SEQ_NUM字段不能为空', <cx_Oracle.LOB object at 0x00000000071E21B0>)
('HAD_ZYBJ_420_0006', 'HAD_LINK_TEMPLATE', 'WIDTH', 1, 'LINK_PID', None, None, '非空检查', '道路基本属性检查', 'Fatal', 'WIDTH字段不能为空', <cx_Oracle.LOB object at 0x00000000071E21D0>)
。。。

这其中有clob字段。搜寻了半天,有应用dbms_lob.substr(clob字段,4000,1)这种方法容易报错,并且和其他字段一起选择时,出现字符缓冲区不足的问题。

之后又找到方法说新建个字段然后利用这个dbms_lob的方法将clob字段转换为一个新的temp字段。但是这个方法你无法确定选取多长的字符串。

最后通过询问后才发现原来问题出现在我使用了cursor.fetchall()这个方法,只需要我在fetchall之前对cursor进行操作,即:

cursor.execute(sql)
for row in cursor:
print(row[11])#或者print(row[11].read()),row[11]是clob字段

问题解决!

以上这篇Python如何应用cx_Oracle获取oracle中的clob字段问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 从远程服务器下载日志文件的程序
Feb 10 Python
Python动态加载模块的3种方法
Nov 22 Python
简单介绍Python中的JSON使用
Apr 28 Python
python 中split 和 strip的实例详解
Jul 12 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
详解Python3序列赋值、序列解包
May 14 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
python怎么对数字进行过滤
Jul 05 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
pycharm永久激活超详细教程
Oct 29 Python
在Python中获取操作系统的进程信息
Aug 27 #Python
python3 下载网络图片代码实例
Aug 27 #Python
Python (Win)readline和tab补全的安装方法
Aug 27 #Python
python中字典按键或键值排序的实现代码
Aug 27 #Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 #Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 #Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 #Python
You might like
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
jQuery中extend函数简单用法示例
2017/10/11 jQuery
JavaScript中Object基础内部方法图
2018/02/05 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
py中的目录与文件判别代码
2008/07/16 Python
Python struct模块解析
2014/06/12 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
深入学习python的yield和generator
2016/03/10 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python模块内置属性概念及实例
2021/02/18 Python
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
仲裁协议书
2014/09/26 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
mysql事务对效率的影响分析总结
2021/10/24 MySQL
Python使用DFA算法过滤内容敏感词
2022/04/22 Python