2017-12-08 12 views
0

SAP HANA 데이터베이스에서 데이터를 가져 오는 프로젝트가 있습니다. SAP Cloud Connector와 PyHDB를 활용했습니다. select 문을 실행하고 결과 데이터를 얻습니다. 필드 중 하나는 큰 글을 포함하는 TEXT 유형입니다. 각 행을 반복하면서 어떻게 든 TEXT 필드의 데이터를 문자열로 가져와야합니다. 그러나 처음 1024 자만 가져올 수 있습니다. TEXT를 저장하는 개체는 StringIO 형식으로 나타납니다. 처음 1024 자 대신 전체 텍스트 데이터를 어떻게 읽을 수 있습니까?SAP HANA에서 TEXT 유형을 파이썬으로 읽기

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

. 고맙습니다.

+0

여기에 데이터를 게시하거나 요점으로 대신 게시 할 수 있습니까? https://gist.github.com/ 어떤 이유로 imgur에 접속할 수 없습니다. – spookylukey

답변

0

docs에 따르면 반환 할 개체에 .read()을 호출하여 가져올 바이트 수를 전달해야합니다. 이것은 매우 친숙한 인터페이스는 아니지만 모든 객체보다 확실히 큰 숫자를 전달하면 모든 것을 얻을 수 있습니다. 또는 문자열이 .getvalue()에 의해 반환 될 때까지 모든 값을 가질 때까지 더 큰 값을 반복하는 작은 루프를 수행 할 수 있습니다.