同时安装 32 位和 64 位客户端时,让 MS Office 2013(32 位)Excel 和 Access 连接到 Oracle 数据库

2024-02-18

在我的计算机上安装 Oracle 11gr2 的 32 位和 64 位客户端后,我遇到了一些 Microsoft Office 产品问题。我目前运行的是 Windows 7 64 位和 Microsoft Office 32 位。

我们依赖于一些 32 位应用程序,并且正在与一个团队合作 - 其中大多数人都拥有 32 位操作系统计算机,因此我需要运行 Office 32 位。

目前,我正在创建和维护一些支持 Excel 宏的工作簿,我们的员工使用这些工作簿提交信息以访问数据库。 Access 数据库使用 sqora32.dll 驱动程序连接到 Oracle,Excel 工作簿使用 oraclient11.dll 连接。

我最近得到了 ArcGIS Pro 的一个版本,它需要 64 位 Oracle 客户端,并且已经对其在我们的生产车间中使用进行了测试。我以为我已经成功安装了 64 位 Oracle 即时客户端(我有 32 位 Oracle 客户端的完整管理员版本),因为一切都运行良好。我的 32 位软件的其余部分连接良好。但是,当我尝试通过 Access 建立 Oracle 连接时,驱动程序失败或者出现内核库错误并且 Access 完全崩溃。

当我尝试通过 Excel vba 进行查询时,我收到来自 Oracle ODBC 驱动程序的错误。它显示“内部错误 - 无法在驱动程序加载期间初始化 NLS”。我的事件日志显示 oraclient11.dll 失败。当我尝试使用“以管理员身份运行”选项进行连接时,应用程序不会完全崩溃,只是停止工作。

我尝试卸载并重新安装 32 位 oracle 客户端,设置 oracle_home 环境变量,使用 c:\windows\system32 中的软链接并更改 PATH 环境变量中条目的顺序,以及设置 NLS_LANG 环境变量。

我真的很想解决这个问题,而不必找到另一台机器来测试 Pro。谁能帮我解决这个问题吗?因为我的 32 位软件连接正确,所以我认为这与 Office 尝试使用 64 位驱动程序有关,但我不是这方面的专家。所以,我不知道。

任何帮助将非常感激。如果之前已经回答过这个问题,可以提供一下链接吗?从上周到今天,我一直在搜索此内容,但无法找到任何可以解决我的特定问题的内容。


我在尝试使用 Teradata ODBC 连接时遇到了类似的问题,我必须通过实际指定 dll 的位置来修复该问题。我的连接字符串最终看起来像这样。由于另一个问题,我也放弃了使用 DSN 名称的尝试。

ODBC;DefaultDir=C:\Program Files (x86)\Teradata\Client\14.10\ODBC Driver for Teradata\Lib\tdata32.dll;DRIVER={Teradata};DBCName=ourserver.com;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时安装 32 位和 64 位客户端时,让 MS Office 2013(32 位)Excel 和 Access 连接到 Oracle 数据库 的相关文章

随机推荐