单引号的Sap Hana xsodata InputParameter值

时间:2016-03-29 08:53:04

标签: sap hana

是否有办法(除了替换)将带有特殊字符的值传递给xsodata InputParameters?

我试图提出如下请求: ../ ODATA_SEARCH.xsodata / InputParams(IP_TERM ='的 O'尼尔&#39)?/结果$格式= JSON

但收到错误: {"错误":{"代码":"","消息":{" lang":&# 34; en-US"," value":"位置66的资源路径中的语法错误。"}}}

当我使用引号加倍时: ODATA_SEARCH.xsodata / InputParams(IP_TERM ='的 O'' NEAL &#39)?/结果$格式= JSON

收到错误:

{"错误":{"代码":"","消息":{" lang" :" zh-CN","值":"服务异常:[2048]列存储错误"}}}

但是,当我直接通过sql脚本或"数据预览"。

调用视图时,加倍工作。

2 个答案:

答案 0 :(得分:0)

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

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

仍会产生语法错误。

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

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

答案 1 :(得分:0)

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