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实现文件名批量替换和内容替换
Mar 20 Python
使用pdb模块调试Python程序实例
Jun 02 Python
JSON Web Tokens的实现原理
Apr 02 Python
numpy数组拼接简单示例
Dec 15 Python
python模拟事件触发机制详解
Jan 19 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
python3正则模块re的使用方法详解
Feb 11 Python
520使用Python实现“我爱你”表白
May 20 Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
Jul 01 Python
python爬虫selenium模块详解
Mar 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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
javascript中常用编程知识
2013/04/08 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
Python图像灰度变换及图像数组操作
2016/01/27 Python
Python创建xml文件示例
2017/03/22 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
秋季开学典礼主持词
2014/03/19 职场文书
绿色环保演讲稿
2014/05/10 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
python某漫画app逆向
2021/03/31 Python
比较几种Redis集群方案
2021/06/21 Redis
SQL SERVER触发器详解
2022/02/24 SQL Server
一文搞懂MySQL索引页结构
2022/02/28 MySQL