我正在使用python的jaybedeapi连接到Oracle数据库。一切似乎都运行正常,除非我遇到包含oracle.sql.clob
数据的字段:
连接&查询:
conn = jaydebeapi.connect('oracle.jdbc.OracleDriver','jdbc:oracle:thin:user/pass@host:port:db')
cur = conn.cursor()
cur.execute("select * from table")
data = cur.fetchmany(size=10)
print data[0][1]
回归:
<jpype._jclass.oracle.sql.CLOB at 0x5fe83d543c92>
如何在这些字段中打印值?
编辑:
我不想在select语句中显式调出每个字段DBMS_LOB.substr(field,3000)
(这有效)。如果可能的话,我宁愿直接在python中找到解决方案。
答案 0 :(得分:3)
这对我有用:
db_result = data[0][1]
print db_result.getSubString(1, db_result.length())
我在Win 7/64上使用jaydebeapi版本0.2.0和jpype 0.5.7,Python 2.7.10 / 32。在这里找到了解决方案:http://almostflan.com/t/embedclob/虽然我没有自动提交问题。