从JayBeDeAPI查询中读取Clob

时间:2015-06-09 22:10:39

标签: python oracle jaydebeapi

我正在使用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中找到解决方案。

1 个答案:

答案 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/虽然我没有自动提交问题。