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中字典(Dictionary)用法实例详解
May 30 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
May 08 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
python实现彩色图转换成灰度图
Jan 15 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
python 6种方法实现单例模式
Dec 15 Python
Jmeter调用Python脚本实现参数互相传递的实现
Jan 22 Python
总结三种用 Python 作为小程序后端的方式
May 02 Python
 python中的元类metaclass详情
May 30 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
点击广告后才能获得下载地址
2006/10/26 Javascript
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
javascript模拟命名空间
2015/04/17 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
使用Python 统计高频字数的方法
2019/01/31 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
Sql面试题
2013/03/20 面试题
水务局局长岗位职责
2013/11/28 职场文书
《散步》教学反思
2014/03/02 职场文书
难忘的一天教学反思
2014/04/30 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
劳动竞赛口号
2014/06/16 职场文书
教师党员个人总结
2015/02/10 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP