MS Access无法连接到SAP“;无法加载LibRfc32.dll“;错误-VBA-SAP
如何修复从Microsoft Access 365调用时无法加载librfc32.dll的错误 我已经尝试了网络上常见的故障排除步骤,如下所示,需要帮助 注意:这是一个已有25年历史的复杂大型应用程序,我无法升级到比SAP GUI 7.40更新的版本,因为其他应用程序需要它。我无法在Access VBA中重写web服务调用,因为它被明确排除在我的项目之外。这是Access 10 to Access 365更新项目,没有为重写分配时间 注意:这是一台服务器计算机,我无法安装DependencyWalker、Visual Studio或其他诊断工具 尝试使用librfc32.dll向SAP发送数据时,我在Microsoft Access 365中遇到此错误: 无法加载DLL“librfc32.DLL”,找不到指定的模块。(HRESULT 0x8007007E异常) 错误是无法加载librfc32.dll或它所依赖的dll之一 站台:MS Access无法连接到SAP“;无法加载LibRfc32.dll“;错误-VBA-SAP,vba,ms-access,dll,sap-gui,saprfc,Vba,Ms Access,Dll,Sap Gui,Saprfc,如何修复从Microsoft Access 365调用时无法加载librfc32.dll的错误 我已经尝试了网络上常见的故障排除步骤,如下所示,需要帮助 注意:这是一个已有25年历史的复杂大型应用程序,我无法升级到比SAP GUI 7.40更新的版本,因为其他应用程序需要它。我无法在Access VBA中重写web服务调用,因为它被明确排除在我的项目之外。这是Access 10 to Access 365更新项目,没有为重写分配时间 注意:这是一台服务器计算机,我无法安装DependencyWa
- Windows Server 2016,64位
- Microsoft Access 365 32位
- SAP GUI 7.40修补程序级别13前端工具应用程序-SAP NetWeaver v7400.3.13.1130-构建1756678-修补程序级别13
- Librfc32.dll是SAP 7.40 GUI前端工具应用程序的一部分
- 我们无法升级到SAP GUI 7.5或更高版本,因为同一台机器上的其他应用程序正在使用它
- MSAccess应用程序刚刚从MSAccess 2010升级
- MSAccess应用程序没有为SAP DLL或OCX文件设置任何依赖项
- Librfc32.dll依赖于基于“dumpbin.exe/dependents Librfc32.dll”的其他dll。Dumpbin.exe是Visual Studio 2019的一部分。Visual Studio 2019未安装在出现“无法加载DLL”错误的计算机上
- Librfc32.dll依赖项-所有依赖项都位于C:\Windows\SysWow64中。ole32.dll、RPCRT4.dll、OLEAUT32.dll、KERNEL32.dll、ADVAPI32.dll、USER32.dll、WS2_32.dll、iphlapi.dll、NETAPI32.dll、SHELL32.dll、dbghelp.dll、VERSION.dll、MSVCR110.dll
- 试用版1-在安装SAP GUI 7.40之前运行MSAccess应用程序
- 试用版2-安装SAP GUI 7.40
- 试用版3-在MSAccess应用程序中,添加对C:\Windows\SysWow64\librfc32.dll的引用
- 试用版4-使用“regsvr32 librfc32.dll”注册librfd32.dll
- 试用版5在MSAccess应用程序中,从SAP GUI应用程序添加对以下DLL的引用。这是2009年的一个类似Access 2010 SAP GUI 7.20的问题
并且所有DLL都存在于发生错误的计算机上:
- regsvr32 c:\program files(x86)\sap\frontend\sapgui\wdobapi.ocx
- regsvr32 c:\program files(x86)\common files\sap shared\wdtlog.ocx
- regsvr32 c:\windows\SysWOW64\librfc32.dll
- regsvr32 c:\program files(x86)\sap\frontend\sapgui\wdtaocx.ocx
- regsvr32 c:\program files(x86)\sap\frontend\sapgui\wdtfuncs.ocx
- 试用版6-检查Windows事件日志。运行MSAccess应用程序并生成错误消息。再次检查Windows事件日志。未找到与此错误相关的消息
- 试用版7-将librfc32.dll和librfc32u.dll复制到MSAccess.exe所在的Microsoft Office可执行文件目录中
- 试用版8-将C:\Windows\SysWow64添加到PATH环境变量无效。启动DOS,“设置路径=%PATH%;C:\Windows\SysWow65;然后从DOS命令行运行MSAccess
- 试用版9-验证了msvcr110.dll、msvcp110.dll、MFC*.dll位于C:\Windows\SysWow64中。Dumpbin.exe根据librfc32.dll的需要显示这些dll中的v110。这被
- Access调用SAP RFC功能模块–2009年9月23日- 这是关于注册DLL和OCX的
- ab&ved=0ahUKEwjo5_PvncbsAhUFLKwKHTm9B9cQ4dUDCAg&uact=5
- Sap登录控制-Sap问答-
在尝试了许多解决方法并查看了50多个网页后,我在StackOveflow上发表了文章。我想在这个问题中包含一些更接近这个问题的链接,但由于链接太多而受到限制。librfc32.dll是经典的RFC库,也是经典RFC SDK的一部分。它也与以前的SAP一起提供GUI发布和其他产品。 但与此同时,经典的RFC库和经典的RFC SDK在SAP中已不再提供维护和支持。您将无法再获得此库的新版本或更新 此库需要哪些Visual C运行时库取决于librfc32.dll来源的SAP版本以及库的位宽度(32位与64位)。请注意,对于所有动态加载的库,您始终需要相同的位宽度,这些位宽度必须适合加载这些库的主程序的位宽度。因此,请检查MS Access可执行文件是32位还是64位程序 尽管名称为librfc32.dll,但它仍然以32位库和64位库的形式存在。 在Windows目录SysWOW64中,您通常可以找到32位库,而在64位Windows安装的目录system32中,您可以找到64位库[感谢Microsoft的命名约定]。:) 无论如何,您不需要librfc32u.dll,它是此库的Unicode版本。您不能在一个进程中同时使用这两个版本。您的代码要么是为Unicode编译的,要么不是为Unicode编译的,并且由于您尝试加载librfc32.dll,因此看起来