python读写oracle的clob字段
clob字段是oracle专门用于存储超长字符串的字段类型,一般varchar2只能存4000个字符串,超过4000个就存不下去了。
那么如何将clob读取到python中呢?
如果直接使用 pandas.read_sql(sql, conn)
会报错,在百度一轮后发现有两种方法。
1.read方法
import cx_Oracle
conn = cx_Oracle.connect("user/pwd@ip/db")
cur = conn.cursor()
# col 是clob字段
cur.execute("select col from table")
pram=[]
for i in cur:
text = i[0].read()
pram.appen(text)
cur.close()
conn.close()
2.使用DBMS_LOB.SUBSTR模块
方法是先提取前2000个字符串,接着提取2000个字符串….,然后拼接起来。