带单引号的Sap Hana xsodata输入参数值

带单引号的Sap Hana xsodata输入参数值,sap,hana,Sap,Hana,是否有方法(除了替换)将带有特殊字符的值传递到xsodata InputParameters中 我试图提出如下要求: ../ODATA_SEARCH.xsodata/InputParams(IP_TERM='O'Neal)/Results?$format=json 但有一个错误: {“error”:{“code”:“”“message”:{“lang”:“en-US”,“value”:“66号位置的资源路径中的语法错误”。}} 当我使用双引号时: ODATA_SEARCH.xsodata/Inp

是否有方法(除了替换)将带有特殊字符的值传递到xsodata InputParameters中

我试图提出如下要求:
../ODATA_SEARCH.xsodata/InputParams(IP_TERM='O'Neal)/Results?$format=json

但有一个错误: {“error”:{“code”:“”“message”:{“lang”:“en-US”,“value”:“66号位置的资源路径中的语法错误”。}}

当我使用双引号时:
ODATA_SEARCH.xsodata/InputParams(IP_TERM='O''NEAL)/Results?$format=json

出现错误:

{“error”:{“code”:“”“message”:{“lang”:“en-US”,“value”:“服务异常:[2048]列存储错误”}}


但是,当我通过sql脚本或“数据预览”直接调用view时,加倍就起作用了。

URL中的特殊字符可以,有时必须,像这样进行编码。但是对于ODataURI中的单引号(
%27
),这将不起作用:

...ms(IP_TERM='O%27Neal')/Results?$for...
仍将产生语法错误

相反,ODataURI中的单引号只需加倍即可转义。像这样使用它:

...ms(IP_TERM='O''Neal')/Results?$for...

我们决定将参数作为base64字符串传递,然后在视图中对其进行解码:
BASE64_解码(:IP_TERM)

我尝试了加倍。它不起作用。(列存储错误)。但是对于calc.view,执行引号转义工作正常。Hana版本1.00.85.03.400544您能用逐字记录的列存储错误更新问题吗?ODATA_SEARCH.xsodata/InputParams(IP_TERM='O''NEAL')/Results?$format=json{“error”:{“code”:“message”:{“lang”:“en-US”,“value”:“服务异常:[2048]列存储错误”}}但是,当我通过sql脚本或“数据预览”直接调用view时,它就可以工作了。我建议您向SAP提交一份记录单。