Я хочу прочитать таблицу, хранящуюся в HANA, непосредственно из python.Для этого я использую следующий код:
from hdbcli import dbapi
import pandas as pd
conn = dbapi.connect(
address="address",
port=XYZ,
user="user",
password="password"
)
print (conn.isconnected())
# Fetch table data
stmnt = "select * from '_SYS_NAME'.'part1.part2.part3.part4.part5.part6/table_name'"
cursor = conn.cursor()
cursor.execute(stmnt)
result = cursor.fetchall()
print('Create the dataframe')
Проблема в строке stmnt: я пробовал разные способы ввода пути, чтобы python мог прочитать его как строку, но ни один из них не работает.Я знаю, что проблема не в том, чтобы полагаться на технику, потому что, если путь прост и не содержит специальных символов, то код работает.
Я перепробовал все следующие комбинации (среди прочих):
stmnt = "select * from '_SYS_NAME'.'part1.part2.part3.part4.part5.part6/table_name'"
stmnt = """select * from '_SYS_NAME'.'part1.part2.part3.part4.part5.part6/table_name'"""
stmnt = "select * from \'_SYS_NAME\'\.\'part1.part2.part3.part4.part5.part6/table_name\'
stmnt = """select * from \'_SYS_NAME\'\.\'part1.part2.part3.part4.part5.part6/table_name\'"""
Ошибка, которую я получаю, всегда следующая:
hdbcli.dbapi.Error: (257, 'sql syntax error: incorrect syntax near "_SYS_NAME": line 1 col 1 (at pos 1)')
И исходный путь как Iполучить его из SQL это:
'_SYS_NAME'.'part1.part2.part3.part4.part5.part6/table_name'
Есть идеи, что мне не хватает?