点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我正在xsjs服务中执行一个简单的select,然后以json格式返回结果。 一切正常,除了在SP9(rev 93)升级后,字符集不再起作用。 见下文:
表格人员:
名称| 姓
João| 席尔瓦
这里是XSJS文件:
$。response.contentType ='application/json; charset = utf-8';
var conn = $ .db.getConnection();
var pstmt = conn.prepareStatement('select * from" PEOPLE"');
var rs = pstmt.executeQuery();
var jsonArr = [];
while(rs.next()){
jsonArr.push({
名称:rs.getString(1),
suname:rs.getString(2)
});
}
rs.close();
pstmt.close();
conn.close();
$。response.setBody(JSON.stringify(jsonArr));
$。response.status = $ .net.http.OK;
运行SP8时,结果如下:
[
-- { 名称: "João", ame : "席尔瓦" }]
现在运行SP9,结果是:
[
-{
名称: "João", ame : "席尔瓦" }]
你知道我该怎么解决吗?
感谢和问候,
Roberto Falk
您使用了错误的get函数。
JSDoc:类:ResultSet
getString(columnIndex)→{string}
返回指定列的字符串值。 getString用于CHAR和VARCHAR列类型。 仅ASCII,不适用于包含Unicode字符的字符串。
getNString(columnIndex)→{string}
返回指定列的字符串值。 getNString用于NCHAR,NVARCHAR和SHORTTEXT列类型。
我不确定为什么它甚至可以在SPS 08上使用。它确实不应该。
我可能会指出,如果您使用的是SPS 09,则可以使用新的数据库接口,该接口直接返回JSON,并且不需要使用任何特定于类型的get或set函数。 这也可以避免您的问题。
JSDoc:命名空间:hdb
< a hraf="/img/community/developer-center/hana/blog/2014/12/02/sap-hana-sps-09-new-developer-features-new-xsjs-database-interface"> http://scn。 sap.com/community/developer-center/hana/blog/2014/12/02/sap-hana-sps-09-new-developer-features-new-xsjs-database-interface
# p#您好,我们刚刚解决了这个错误吗? 我们正在使用此$ .db.resultSet.getString函数,并且一切正常,只是现在我们不得不更改为getText并对此帖子感到困惑。 不用说我们将来将与$ .hdb一起使用。
自2019年9月以来,我们正在HANA 1.00.122.18.1531375173上工作。
上个月我们不得不将系统迁移到另一台主机,我不知道这是否可以更改某些内容。
谢谢!
嗨罗伯托,
在更新到SP9之后,今天我们发现了同样的问题。
当我们使用一个库返回所有sql select语句(" readSql()")时,我们只需在.xsjs代码中放入一个javascript函数即可:
例如:decodeURIComponent(escape(rs.getString(i)))
致谢
Caio Melzer
一周热门 更多>