使用Python如何向Sap Hana表插入数据

问题描述 投票:0回答:1

我在将数据插入 hana 表时连接了 sap hana 表,但出现以下错误

插入数据时出错:(260,'无效的列名:LOADDT')

下面是使用python的插入查询

 tgt_query = '''
INSERT INTO "SAPCUSTOM"."GEL.Apps.Tech::tbl.IBDlyTrend"(LoadDt,FisWeek,InbeVol,Outbol6WCH,Outol6WWC) VALUES (?,?,?,?,?)
'''
val = (LoadDt,FisWeek,InbeVol,Outbol6WCH,Outol6WWC)
try:
    cur.execute(tgt_query, val)
    #conn.commit() 
    conn.commit()
    print('inserted successfully')                    
except Exception as e:
    print("Error inserting invalid email:", e)

在 Hana 表中,列名称仅为 LoadDt,但为什么它显示无效列,我不明白

请提出你的想法,我是这个 sap hana 的新手

如果我在值中使用 %s 会出现 % 语法错误

tgt_query = '''INSERT INTO "SAPCUSTOM"."GEL.Apps.Tech::tbl.IBDlyTrend"(LoadDt,FiscalWeek,InboundCaseVol,OutboundCaseVol6WCH,OutboundCaseVol6WWC) VALUES (%s,%s,%s,%s,%s) '''

错误:插入数据时出错:(257,'sql语法错误:“%”附近的语法不正确:第1行第154行(位于第154位)')

不知道为什么它会给出 2 个不同的错误无效列和语法附近

请帮助我任何人

python sql python-3.x sql-insert hana
1个回答
0
投票

看起来找不到

LoadDt
,因为它的实际名称包含小写字符。添加双引号 (
"LoadDt"
) 应该可以帮助你。不使用引号时,HANA 将假定名称为大写。另请查看this了解更多详情。

语法错误表明 Python 没有正确替换字符串占位符。在某种程度上,这与数据库无关。显然,您不能简单地将 SQL 占位符 (

?
) 替换为 Python 占位符 (
%s
),而不进一步更改代码。检查this了解更多详情。

© www.soinside.com 2019 - 2024. All rights reserved.