XS Advanced-Node.js模块-HDB连接错误

2020-09-03 12:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我尝试建立连接并将一些查询发送到在笔记本电脑上运行的HANA 2.0 Express Edition。 我已经构建了一个XS Advanced应用程序,现在我正在使用sap-hdbext编写一个Node.js模块,并表达模块来建立与HDB的连接,如下所示:

 module.exports = function(){
 var app = express();


 Passport.use(" JWT",新的xssec.JWTStrategy(xsenv.getServices({
 uaa:{
 标签:" xsuaa"
 }
 })。uaa));
 app.use(passport.initialize());


 app.use(
 Passport.authenticate(" JWT",{
 会话:错误
 }),
 xsHDBConn.middleware()
 );


//简单的数据库选择-内联回调
 app.route("/img/simptab")
 .get(function(req,res){
 var client = req.db;
 client.prepare(
 "从\" project.db.data :: SimpleTable \"中选择测试,",
 函数(错误,声明){
 如果(错误){
 res.type(" text/plain")。status(500).send(" ERROR:" + error);
 返回;
 }
 statement.exec([],
 函数(错误,结果){
 如果(错误){
 res.type(" text/plain")。status(500).send(" ERROR:" + err);
 返回;
 }其他{
 var result = JSON.stringify({
 对象:结果
 });
 res.type(" application/json")。status(200).send(result);
 }
 });
 });
 });
 

我已经设置了package.json文件和server.js以及其他所有内容,就像在开发指南和openSAP课程中一样。

但是,如果我转到URL" https://hxehost:....../node/simptab"以访问我的节点模块,则会发生以下错误:

错误:无法连接到任何主机:[undefined:NaN-连接ECONNREFUSED 127.0.0.1]位于cannotNotOpenConnectionError(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d /app/node_modules/hdb/lib/protocol/ConnectionManager.js:130:13)在ConnectionManager._openConnectionToHost(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib中的/node_modules/hdb/lib/protocol/ConnectionManager.js:43:15) /protocol/ConnectionManager.js:56:10(位于Socket.onerror(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/在Socket.g(events.js:291:16)处在emitOne(events.js:96:13)在Socket.emit(events.js:188:7)在ConnectionError.net(net。  js:1276:8)在_combinedTickC  allback(internal/process/next_tick.js:74:11)在process._tickCallback(internal/process/next_tick.js:98:9)

可能是什么原因? 我已经尽我所能解决此问题,但没有任何效果。

就像我说的那样,我已经像演示中一样设置了所有内容。

请帮助。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我尝试建立连接并将一些查询发送到在笔记本电脑上运行的HANA 2.0 Express Edition。 我已经构建了一个XS Advanced应用程序,现在我正在使用sap-hdbext编写一个Node.js模块,并表达模块来建立与HDB的连接,如下所示:

 module.exports = function(){
 var app = express();


 Passport.use(" JWT",新的xssec.JWTStrategy(xsenv.getServices({
 uaa:{
 标签:" xsuaa"
 }
 })。uaa));
 app.use(passport.initialize());


 app.use(
 Passport.authenticate(" JWT",{
 会话:错误
 }),
 xsHDBConn.middleware()
 );


//简单的数据库选择-内联回调
 app.route("/img/simptab")
 .get(function(req,res){
 var client = req.db;
 client.prepare(
 "从\" project.db.data :: SimpleTable \"中选择测试,",
 函数(错误,声明){
 如果(错误){
 res.type(" text/plain")。status(500).send(" ERROR:" + error);
 返回;
 }
 statement.exec([],
 函数(错误,结果){
 如果(错误){
 res.type(" text/plain")。status(500).send(" ERROR:" + err);
 返回;
 }其他{
 var result = JSON.stringify({
 对象:结果
 });
 res.type(" application/json")。status(200).send(result);
 }
 });
 });
 });
 

我已经设置了package.json文件和server.js以及其他所有内容,就像在开发指南和openSAP课程中一样。

但是,如果我转到URL" https://hxehost:....../node/simptab"以访问我的节点模块,则会发生以下错误:

错误:无法连接到任何主机:[undefined:NaN-连接ECONNREFUSED 127.0.0.1]位于cannotNotOpenConnectionError(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d /app/node_modules/hdb/lib/protocol/ConnectionManager.js:130:13)在ConnectionManager._openConnectionToHost(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib中的/node_modules/hdb/lib/protocol/ConnectionManager.js:43:15) /protocol/ConnectionManager.js:56:10(位于Socket.onerror(/hana/shared/HXE/xs/controller_data/executionagent/executionroot/f6e141e5-a900-460a-a8b9-9052ee21b55d/app/node_modules/hdb/lib/protocol/在Socket.g(events.js:291:16)处在emitOne(events.js:96:13)在Socket.emit(events.js:188:7)在ConnectionError.net(net。  js:1276:8)在_combinedTickC  allback(internal/process/next_tick.js:74:11)在process._tickCallback(internal/process/next_tick.js:98:9)

可能是什么原因? 我已经尽我所能解决此问题,但没有任何效果。

就像我说的那样,我已经像演示中一样设置了所有内容。

请帮助。

付费偷看设置
发送
6条回答
土豆飞人
2楼-- · 2020-09-03 13:14

嗨,Rene,

我们确实有完全相同的问题。 您能找出这种现象的原因是什么吗?

BR,

Dirk

Violet凡
3楼-- · 2020-09-03 12:56

嗨,

从该错误看来,HANA主机和端口未正确配置。

什么是xsHDBConn,如何对其进行初始化?

确保使用sap-hdbext而不是sap-hdb-connection,这已被弃用。

要检查传递给应用程序的实际参数,可以使用以下命令:

 xs env <应用程序名称> 

最诚挚的问候,

Petar

hongfeng1314
4楼-- · 2020-09-03 13:07

HeyRené,

很高兴听到您的来信:)与您一样,这些视频遇到了同样的麻烦,所以我把所有SAP教程的内容都放在一边了;)

KR,
Sören

樱桃小丸子0093
5楼-- · 2020-09-03 13:13

大家好

我们在使用Hana 2.0的Cloud Foundry中的Cloud Application Program中遇到相同的确切问题。 该应用程序可以很好地处理CDS oData调用,并且由于相同的错误而在本周停止工作。 任何帮助深表感谢。 我们已经在Server.js in node服务中实现了以上建议。

谢谢

Sasi

一只江湖小虾
6楼-- · 2020-09-03 12:55

嗨,

谢谢你Sören。 您的答案是正确的解决方案。 自从将问题发布到这里以来,我自己发现了这个解决方案。

我对openSAP课程有关HANA XS Advanced的视频感到困惑,该视频从未显示必须将这些选项传递给身份验证模块。 我终于在openSAP课程的示例项目中找到了解决方案。

最诚挚的问候,

René

一周热门 更多>