Python如何應(yīng)用cx_Oracle獲取oracle中的clob字段問(wèn)題
最近在用Python編寫(xiě)連接數(shù)據(jù)庫(kù)獲取記錄的腳本,其中用到了cx_Oracle模塊。它的語(yǔ)法主要如下:
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') 對(duì)于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) --獲取游標(biāo) cursor = db1.cursor() --執(zhí)行查詢 sql = "select * from tab" cursor.execute(sql) --獲取數(shù)據(jù) ,可以有多種方式 fetchall(),fetchmang(N)(N 為正整數(shù)),fetchone() result = cursor.fetchall() count = cursor.rowcount
在自己進(jìn)行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字段。搜尋了半天,有應(yīng)用dbms_lob.substr(clob字段,4000,1)這種方法容易報(bào)錯(cuò),并且和其他字段一起選擇時(shí),出現(xiàn)字符緩沖區(qū)不足的問(wèn)題。
之后又找到方法說(shuō)新建個(gè)字段然后利用這個(gè)dbms_lob的方法將clob字段轉(zhuǎn)換為一個(gè)新的temp字段。但是這個(gè)方法你無(wú)法確定選取多長(zhǎng)的字符串。
最后通過(guò)詢問(wèn)后才發(fā)現(xiàn)原來(lái)問(wèn)題出現(xiàn)在我使用了cursor.fetchall()這個(gè)方法,只需要我在fetchall之前對(duì)cursor進(jìn)行操作,即:
cursor.execute(sql) for row in cursor: print(row[11])#或者print(row[11].read()),row[11]是clob字段
問(wèn)題解決!
以上這篇Python如何應(yīng)用cx_Oracle獲取oracle中的clob字段問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python通配符之glob模塊的使用詳解
- Python全局變量global關(guān)鍵字詳解
- python里glob模塊知識(shí)點(diǎn)總結(jié)
- Python: glob匹配文件的操作
- Python全局變量與global關(guān)鍵字常見(jiàn)錯(cuò)誤解決方案
- 簡(jiǎn)單了解python關(guān)鍵字global nonlocal區(qū)別
- 使用python matploblib庫(kù)繪制準(zhǔn)確率,損失率折線圖
- Python內(nèi)置函數(shù)locals和globals對(duì)比
- 淺析python標(biāo)準(zhǔn)庫(kù)中的glob
- Python3標(biāo)準(zhǔn)庫(kù)glob文件名模式匹配的問(wèn)題
- Python中 Global和Nonlocal的用法詳解
- Python 內(nèi)置函數(shù)globals()和locals()對(duì)比詳解
- python中的global關(guān)鍵字的使用方法
- Python動(dòng)態(tài)參數(shù)/命名空間/函數(shù)嵌套/global和nonlocal
- Python文件名的匹配之clob庫(kù)
相關(guān)文章
使用python 將圖片復(fù)制到系統(tǒng)剪貼中
今天小編就為大家分享一篇使用python 將圖片復(fù)制到系統(tǒng)剪貼中,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python實(shí)戰(zhàn)教程之OCR文字識(shí)別方法匯總
ocr是一種光學(xué)字符識(shí)別技術(shù),簡(jiǎn)單來(lái)說(shuō)它能夠識(shí)別出圖像中的文字并且將其給取出來(lái),下面這篇文章主要給大家介紹了關(guān)于python實(shí)戰(zhàn)教程之OCR文字識(shí)別方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05使用matplotlib庫(kù)實(shí)現(xiàn)圖形局部數(shù)據(jù)放大顯示的實(shí)踐
本文主要介紹了使用matplotlib庫(kù)實(shí)現(xiàn)圖形局部數(shù)據(jù)放大顯示的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Python XlsxWriter模塊Chart類用法實(shí)例分析
這篇文章主要介紹了Python XlsxWriter模塊Chart類用法,結(jié)合實(shí)例形式分析了Python XlsxWriter模塊Chart類功能、圖表繪制常用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-03-03Python框架Flask的基本數(shù)據(jù)庫(kù)操作方法分析
這篇文章主要介紹了Python框架Flask的基本數(shù)據(jù)庫(kù)操作方法,結(jié)合實(shí)例形式分析了Flask框架數(shù)據(jù)庫(kù)操作常用函數(shù)功能、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-07-07win10下Python3.6安裝、配置以及pip安裝包教程
下面小編就為大家?guī)?lái)一篇win10下Python3.6安裝、配置以及pip安裝包教程。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10python通過(guò)第三方庫(kù)操作PDF文件的幾種常見(jiàn)方法
Python是一種高級(jí)編程語(yǔ)言,主要用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、圖像處理等領(lǐng)域,在PDF文件處理方面,Python有許多強(qiáng)大的庫(kù)和工具,這篇文章主要給大家介紹了關(guān)于python通過(guò)第三方庫(kù)操作PDF文件的幾種常見(jiàn)方法,需要的朋友可以參考下2024-02-02python實(shí)現(xiàn)蒙特卡羅模擬法的實(shí)踐
?蒙特卡洛就是產(chǎn)生隨機(jī)變量,帶入模型算的結(jié)果,尋優(yōu)方面,本文主要介紹了python 蒙特卡羅模擬法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03python的繪圖工具matplotlib使用實(shí)例
這篇文章主要介紹了python的繪圖工具matplotlib使用實(shí)例,需要的朋友可以參考下2014-07-07