从SAP HANA读取TEXT类型到python

时间:2017-12-08 20:48:10

标签: python sql parsing hana stringio

我正在开展一个项目,要求我从SAP HANA数据库中获取数据。我使用SAP Cloud Connector和PyHDB来完成这项工作。我执行我的select语句并获取结果数据。其中一个字段是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

我需要将整个文本放入字符串然后打印出来。谢谢。

1 个答案:

答案 0 :(得分:0)

根据docs,您需要在返回的对象上调用.read(),传入您想要获得的字节数。这不是一个非常友好的界面,但我想如果你输入的数字肯定比你的所有对象都要大,那么你就可以得到所有东西。或者你可以做一个小循环,用更大的值迭代,直到你拥有它 - 当.getvalue()返回的字符串长度确实增加时。