我正在尝试使用sap jco连接来自Java的sap,但找不到librfc32.dll,com.sap.utils和com.sap.mw的库。

难道我做错了什么?我的Jco版本是3.0.17。

最佳答案

JCo API已经过重新设计,并在JCo 3.0版中进行了重新设计。它的类也从com.sap.mw.jco。*包重定位到com.sap.conn.jco。*。

软件包com.sap.mw.jco。*属于旧的JCo2 API,即它们是JCo 2.1的一部分。而且我不知道包com.sap.utils。如果您的意思是com.sap.mw.jco.util或com.sap.conn.jco.util,它们是JCo的内部软件包,而不是其公共API的一部分,因此这些类不应直接在Java中使用程序(与sun.io. *软件包相同)。

最后,librfc32.dll仅由旧的JCo 2.x版本使用。使用JCo 3.0,在运行时只需要文件sapjco3.jar和sapjco3.dll(在Windows上)。

并使图片完整:
JCo 2.1在2013年脱离了SAP的维护和支持。因此,除非您必须这样做,否则我将不再使用旧的JCo2 API。而且,如果需要的话,应该仅用于将旧程序从使用已弃用的JCo2 API迁移到新的JCo3 API。我认为,在无权获得SAP支持的情况下运行SAP方案是不可取的。

10-06 09:29