MS Access 无法连接到 SAP“无法加载 LibRfc32.dll”错误 - VBA - SAP

如何解决MS Access 无法连接到 SAP“无法加载 LibRfc32.dll”错误 - VBA - SAP

如何解决从 Microsoft Access 365 调用时无法加载 librfc32.dll 错误?

我已经尝试了下面列出的网上常见的故障排除步骤,需要帮助。

注意:这是一个已有 25 年历史的复杂大型应用程序,我无法升级到比 SAP GUI 7.40 更高的版本,因为其他应用程序需要它。我无法在 Access VBA 中重写 Web 服务调用,因为它被明确排除在我的项目之外。这是一个 Access 10 到 Access 365 更新项目,没有分配时间重写。

注意:这是一台服务器机器,我无法安装 DependencyWalker、Visual Studio 或其他诊断工具。

尝试使用 librfc32.dll 将数据发送到 SAP 时,我在 Microsoft Access 365 中收到此错误:

无法加载 DLL 'librfc32.dll' 找不到指定的模块。(异常来自 HRESULT 0x8007007E)

错误是无法加载 librfc32.dll 或它所依赖的 DLL 之一。

平台:

  • 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、IPHLPAPI.DLL、NETAPI32.dll、SHELL32.dll、dbghelp.dll、VERSION.dll、MSVCR110。 dll

到目前为止我们已经尝试过并且都给出了相同的无法加载 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 都存在于出现错误的机器上:https://answers.sap.com/questions/6537228/access-calls-sap-rfc-function-modules.html
    • 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,"SET PATH=%PATH%;C:\Windows\SysWow65; 然后从 DOS 命令行运行 MSAccess
  • 试用版 9 - 已验证 msvcr110.dll、msvcp110.dll、MFC*.dll 位于 C:\Windows\SysWow64。 Dumpbin.exe 根据 librfc32.dll 的需要显示这些 DLL 的 v110。这被 https://answers.sap.com/questions/3505999/librfc32dll-not-found-on-windows-server-2003.html
  • 引用

librfc32.dll 类似问题的相关参考链接。请注意,这些申请的有效期最长为 15 年,其中许多建议适用于过时的申请。

在尝试了许多变通方法并查看了 50 多个网页后,我在 StackOveflow 上发帖。我想在这个问题中包含一些更接近这个问题的链接,但由于链接错误太多而受到限制。

解决方法

librfc32.dll 是经典的 RFC 库,它也是经典 RFC SDK 的一部分。它还随以前的 SAP GUI 版本和其他产品一起提供。 但与此同时,SAP 不再对经典 RFC 库和经典 RFC SDK 进行维护和支持。您将不会再获得此库的新版本或更新。

此库需要哪些 Visual C 运行时库取决于 librfc32.dll 源自的 SAP 版本和库的位宽(32 位与 64 位)。请注意,对于所有动态加载的库,您始终需要相同的位宽,这些库必须适合加载这些库的主程序的位宽。因此,请检查您的 MS Access 可执行文件是 32 位还是 64 位程序。

尽管名为 librfc32.dll,但它作为 32 位库和 64 位库存在。 在 Windows 目录 SysWOW64 中,您通常会找到 32 位库,而在 64 位 Windows 安装的目录 system32 中,您将找到 64 位库 [感谢 Microsoft 的命名约定]。 :)

无论如何你不需要这个库的 Unicode 版本的 librfc32u.dll。您不能在一个过程中同时使用两者。您的代码要么是为 Unicode 编译的,要么不是,而且由于您尝试加载 librfc32.dll,它似乎是为非 Unicode 运行时编译的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res