使用@ sap/hana-client代替带有CAP的hdb(NodeJS)

2020-08-23 22:40发布

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

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


尊敬的专家,

当前默认情况下,NodeJS HDB软件包( https://github.com/SAP/node-hdb )由CAP(@ sap/cds)使用。

此软件包不再真正更新,并且已由新的hana-client软件包"替换"。 在@ sap/hana-client的代码中,我看到如果找不到HDB模块,但hana-client模块存在,则应使用该模块。
因此,我删除了HDB软件包,并用 hana-client软件包。 最终导致一个致命错误,即它找不到HDB程序包,并且没有切换到Hana-client程序包。

这应该已经起作用了吗? 还有什么原因让我们仍在使用HDB模块吗?

我正在研究切换模块,因为我们在HANA端遇到了错误(OoM和太多准备好的语句),即使数据集很小并且我们还没有真正花哨的东西。

亲切的问候,

Vincent Weiss

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

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


尊敬的专家,

当前默认情况下,NodeJS HDB软件包( https://github.com/SAP/node-hdb )由CAP(@ sap/cds)使用。

此软件包不再真正更新,并且已由新的hana-client软件包"替换"。 在@ sap/hana-client的代码中,我看到如果找不到HDB模块,但hana-client模块存在,则应使用该模块。
因此,我删除了HDB软件包,并用 hana-client软件包。 最终导致一个致命错误,即它找不到HDB程序包,并且没有切换到Hana-client程序包。

这应该已经起作用了吗? 还有什么原因让我们仍在使用HDB模块吗?

我正在研究切换模块,因为我们在HANA端遇到了错误(OoM和太多准备好的语句),即使数据集很小并且我们还没有真正花哨的东西。

亲切的问候,

Vincent Weiss

付费偷看设置
发送
3条回答
粗暴的香蕉
1楼 · 2020-08-23 23:03.采纳回答

文森特,你好

是的,hana-client应该已经可以工作了。 我们仍然使用hdb,因为它的性能更高,但是差距正在逐渐缩小。 在最近的几天中,我们还进行了切换,因为不再支持hdb,因此hana-client现在是要使用的默认客户端,因此在下一发行版中,您将已经看到,hana-client具有更高的优先级。

我们还有一个问题,即未正确关闭准备好的语句,这导致了hana的内存问题。 但这与hdb或hana-client无关。此问题已修复,将在下一版本中提供。

您能告诉我有关致命错误的更多信息吗,也许带有错误日志?

最好的问候

塞缪尔

小c菟菟
2楼-- · 2020-08-23 22:58

嗨文森特,

我正在使用@ sap/hana-client,在我的项目中没有任何问题。 即: https://github.com/gregorwolf/bookshop-demo/blob/master/ srv/package.json

CU
Gregor

wang628962
3楼-- · 2020-08-23 22:54

你好塞缪尔·布鲁克(Samuel Brucksch)
我发现了我以为它不起作用的原因。 我们正在使用Jest来运行测试,而我首先尝试过。
但是由于以下原因而失败:

无法从'hanaClient.js'找到模块'hdb'
 但是,Jest能够找到:
 './hanaClient.js'
 您可能要在导入中包含文件扩展名,或更新当前为['js','json','jsx','ts','tsx','node']的'moduleFileExtensions'。
 参见https://jestjs.io/docs/en/configuration#modulefileextensions-array-string
 但是,Jest能够找到:
 'client/Client.js'
 您可能要在导入中包含文件扩展名,或更新当前为['js','json','jsx','ts','tsx','node']的'moduleFileExtensions'。
 参见https://jestjs.io/docs/en/configuration#modulefileextensions-array-string
 在Resolver.resolveModule(node_modules/jest-resolve/build/index.js:259:17)
 在_getClient(node_modules/@sap/cds-hana/lib/client/hanaClient.js:5:12)
 在对象上。<匿名>(node_modules/@sap/cds-hana/lib/client/hanaClient.js:16:18)
 

后来,我在没有测试的情况下尝试了它,确实可以正常工作。 因此,这是在切换到hana-client之前对hdb模块进行解析的最初尝试,这使我们的Jest测试失败了,而在正常运行的情况下效果很好。

一周热门 更多>