【问题标题】:Reading TEXT type from SAP HANA into python将 SAP HANA 中的 TEXT 类型读入 python
【发布时间】:2018-05-23 03:30:46
【问题描述】:

我正在处理一个需要我从 SAP HANA 数据库获取数据的项目。我使用 SAP Cloud Connector 和 PyHDB 来完成这项工作。我执行我的选择语句并获取结果数据。其中一个字段是 TEXT 类型,包含大型文章。在迭代每一行时,我需要以某种方式将 TEXT 字段中的数据转换为字符串。但是我只能获得前 1024 个字符。存储 TEXT 的对象似乎是 StringIO 类型。如何读取整个文本数据而不是仅读取前 1024 个字符?

import pyhdb

connection_from = pyhdb.connect(
host="localhost",
port=00000,
user="user",
password="password"
)
cursor_from = connection_from.cursor()

cursor_from.execute('SELECT * FROM SCHEMA.TABLE')
results= cursor_from.fetchall()

for row in results:
    text = row[2].data.getvalue()

connection_from.close()

这是对象的样子:NClob

我需要把整个文本变成一个字符串然后打印出来。谢谢。

【问题讨论】:

  • 你能把数据贴在这里还是放到一个要点里? gist.github.com由于某种原因我无法访问 imgur。

标签: python sql parsing hana stringio


【解决方案1】:

根据docs,需要在返回的对象上调用.read(),传入你想获取的字节数。这不是一个非常友好的界面,但我想如果你传入一个绝对大于所有对象的数字,你会得到一切。或者你可以做一个小循环,用更大的值进行迭代,直到你全部拥有 - 当.getvalue() 返回的字符串长度确实增加时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多