在SAP HANA中,我试图使用表类型作为输入参数来调用StoredProcedure。
其他输入参数也可以正常工作。但是,一旦我使用表类型,就会出现错误:
Failed to execute action: InternalError: dberror($.hdb.Connection.executeProcedure): 258 - SQL error, server error code: 258. insufficient privilege: Not authorized at /sapmnt/ld7272/a/HDB/jenkins_prod/workspace/8uyiojyvla/s/ptime/query/checker/query_check.cc:4003
如何解决/调试此问题?
在indexserver-trace中是:
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949679 i TraceContext TraceContext.cpp(01028) : UserName=SAPDBCTRL, ApplicationUserName=SM_EFWK, ApplicationName=ABAP:AS2, ApplicationSource=CL_SQL_STATEMENT==============CP:304, Client=010, StatementHash=31c1e1f5ca72868a541d58fc5a77596b, EppRootContextId=0050560204981EE782C14A33A16BC68E, EppTransactionId=47BF1E2CEE9D05A0E005B7CF04FCF981, EppConnectionId=5B7C13CC22061B08E10000000A1807AF, EppConnectionCounter=1, EppComponentName=AS2/sapas2ci_AS2_01, EppAction=EFWK RESOURCE MANAGER
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949656 w SQLScriptExecuto se_eapi_proxy.cc(00144) : Error <exception 71000258: Not authorized
> in preparation of internal statement: delete from _SYS_STATISTICS.STATISTICS_PROPERTIES where key='internal.check.store_results'
[19984]{315590}[100/100235487] 2018-08-22 10:07:13.949904 e SQLScript trex_llvm.cc(00936) : Llang Runtime Error: Exception::SQLException258: insufficient privilege: Not authorized
at main (line 63) ("_SYS_STATISTICS"."SHARED_STORE_USED_VALUES": line 8 col 5 (at pos 456))
答案 0 :(得分:0)
这似乎很简单:
在客户端SM_EFWK
中登录的应用程序用户(使用SAP NetWeaver的人)010
试图从SAP HANA统计服务表{{1}中删除数据}。
NetWeaver / ABAP程序使用与数据库用户_SYS_STATISTICS.STATISTICS_PROPERTIES
的辅助数据库连接。
抛出错误SAPDBCTRL
,因为此Exception::SQLException258: insufficient privilege: Not authorized
数据库用户在分配给该表的表上没有SAPDBCTRL
的特权(既没有直接特权,也没有通过模式或角色特权)。 / p>
如果SQL命令是SAP标准程序的一部分,那么我将检查建议的设置是否已正确实施。
如果此命令来自自定义程序,则您可能要分配特权或使用其他技术用户,因为DELETE
是不应修改的SAP标准用户。