点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在我们的项目中,我们有一个NodeJS应用程序,该应用程序通过节点模块" sap-hdbext"连接到HANA数据库。 就像在有关此问题的几个示例中一样,我们使用ExpressJS作为我们的REST接口。
将HDB-中间件连接到Express的代码如下:
然后在快速路由中,我们使用" var db = req.db"从中间件获取数据库会话。 这样我们就可以调用db.exec(...),依此类推。 到目前为止,一切正常……至少在大多数情况下。 有时,我们在调用其中一条路由时会收到以下错误消息:
„错误:SAP_HDBEXT MIDDLEWARE:pool.acquire()期间出错:{" message":"无法通过SET命令设置预定义的会话变量:XS_APPLICATIONUSER"," code":455," sqlState": " HY000","级别":1,"位置":0,"状态":500}
错误:无法通过SET命令:XS_APPLICATIONUSER"设置预定义的会话变量
因此express显然无法从sap-hdbext提供的中间件检索连接。 重新启动或重新部署应用程序无济于事,它通常会使用创建数据库会话的方法影响所有NodeJS应用程序。 它并不总是一次会影响所有用户,但确实会在不引起任何人注意的情况下偶尔发生在每个用户身上。
通常在几个小时后或第二天,一切正常,而无需进行任何更改。
有人遇到过同样的问题,或者有想法起源吗?
感谢您的帮助!
最好的问候
Henrik Lawall
(151.7 kB)
嗨,
我偶然发现了相同的错误。 我能够通过切换两行代码来修复它。 首先调用HANA中间件,然后再调用护照认证。
干杯
Markus
为我工作! 谢谢
您找到此问题的答案了吗? XSA/ODATA上的node.js也有类似的问题。 几天之后,运行sapui5应用程序时,odata返回设置XS_APPLICATIONUSER错误。 我们正在做一个调查,目前我们认为它可能连接到有限的资源(我们有一个最小的集合),从数据库池获取连接的问题,JS <-> DB连接的某些错误配置(但我相信我们有 标准集)。
您正在使用的hdbext是什么版本?
一周热门 更多>