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

2020-08-23 22:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)尊敬的专家, 当前默认情况下,...

         点击此处--->   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条回答
wang628962
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测试失败了,而在正常运行的情况下效果很好。

一周热门 更多>