python - 从 JayBeDeAPI 查询读取 Clob

标签 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>

如何打印这些字段中的值?

编辑:

我不想明确指出每个字段 DBMS_LOB.substr(field,3000)在 select 语句中(有效)。如果可能的话,我宁愿直接用 python 提供解决方案。

最佳答案

这对我有用:

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/虽然我没有遇到他遇到的自动提交问题。

关于python - 从 JayBeDeAPI 查询读取 Clob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743718/

相关文章:

java - 将jar文件添加到jpype会使java崩溃

python - 将 stdout 从 subprocess.check_call 重定向到函数?

python - 使用 tkinter 变量类作为类属性是不好的做法吗?

oracle - sql语法缺失和错误处理

sql - ORA-01843 : not a valid month exception when running as report on maximo

Python SQL 查询性能

python - 如何用另一个列表中的多个元素替换列表中的一个元素?

java - 如何导入我在 jython 中创建的 java 类并调用方法

java - 无法在 debian 上运行 sqldeveloper

java - 使用 JayDeBeApi 连接到 Hive 时出错 - 未找到类