从python sqlalchemy调用Hana存储过程时出错

问题描述 投票:-3回答:1

当我使用sqlalchemy lib从表类型输入和python的varchar out参数调用存储过程时出现错误,下面提到的是错误

从python sqlalchemy.exc.DatabaseError调用过程时出错:(pyhdb.exceptions.DatabaseError)无效的参数:输入参数不足以作为表参数:

参数第一个是表类型输入,第二个是变量类型输出

我正在添加尝试使用的代码段

engine = create_engine("hana+pyhdb://{username}:{password}@{host}:{port}".format(username='username', password='password', host='hostname', port='30015'))

output="

input ='[{“ RULE_ID”:1,“ RULE_NAME”:null,“ SO_SSA”:“ 1074”,“ PO_NUMBER”:null,“ CODE”:“ DDD”,“ ROUTE_CODE”:“”,“ OPERATING “:null,” SHIP_TO“:” IND“,” SHIP_TO_REGION“:” MX“,” SHIP_TO_CUSTOMER_ID“:null,” BILL_TO_CUSTOMER_ID“:null,” END_TO_CUSTOMER_ID“:null,” SLCA“:” AKP123“:” HOLD_NAME “期货批准保留”,“ SHIPPING_PREFERENCE”:null,“ EAD”:null,“ CUSTOMER_REQUEST_TYPE”:null,“ CRD”:null,“ CRSD”:null,“ CURRENT_PROMISE_DATE”:null,“ CURRENT_PROMISE_DELIVERY_DATE” “:null,” OPDD“:null,” ON_HOLD“:null,” FLOW_STATUS_CODE“:null,” PICK_RESULT“:null,” IS_IN_OTM“:null,” BUSINESS_UNIT“:null,” REVENUE_FLAG“:null,” ACTION_CATEGORY“: null,“ ACTION_OWNER”:null,“ SS_REVENUE”:null,“ CARTONS”:null,“ INVOICE_ELIGIBILITY_EVENT”:null,“ SALES_CHANNEL”:null,“ CREATED_BY”:“ NEW”,“ CREATION_DATE”:“ 2020-02-11 10:24 PM“,” LAST_UPDATED_BY“:” NEW“,” LAST_UPDATE_DATE“:” 2020-03-04 10:39 PM“,” FDA_FLAG“:null,” POE_FLAG“:null,” CONSOLIDATED_FLAG“:null,” START_DATE“: “ 2019-01-02”,“ END_DATE”:“ 2020-01-02”,“ ACTIVE”:“ T”}]'

test=engine.execute('call SCHEMA.PROC(?,?)',(input,output))

[我从UI接收到输入作为JSON字符串。在HANA SP中,输入是表类型的类型。我不确定如何将输入转换为表类型

python sqlalchemy hana
1个回答
0
投票

错误消息已经说明了:该过程的预期参数是一个表,但这不是在调用该过程时提供的参数。

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