在我的机器上安装Oracle 11gr2的32位和64位客户端之后,我遇到了Microsoft Office产品的一些问题。 我目前正在使用Microsoft Office 32位运行Windows 7 64位。
我们依赖于一些32位应用程序,并且正在和一群人一起工作 – 他们中的大多数人都有32位的操作系统机器,所以我需要运行Office 32位。
目前,我正在创build和维护一些Excelmacrosfunction的工作簿,我们的工作人员用它来提交信息来访问数据库。 访问数据库使用sqora32.dll驱动程序连接到oracle,并使用oraclient11.dll连接excel工作簿。
我最近得到了一个ArcGIS Pro的版本,它需要一个64位的oracle客户端,并且已经在我们的生产环境中进行了testing。 我以为我已经成功地安装了64位Oracle即时客户端(我拥有32位Oracle客户端的完整pipe理员版本),因为一切运行良好。 我的32位软件的其余部分连接好。 但是,当我尝试通过访问build立一个oracle连接,驱动程序失败,或者我得到一个kernelbase错误和Access完全崩溃。
当我通过Excel vba尝试查询时,从Oracle ODBC Driver中得到一个错误。 它说,内部错误 – 无法在驱动程序加载期间初始化NLS。 我的事件日志显示oraclient11.dll失败。 当我尝试使用“以pipe理员身份运行”选项连接时,应用程序不会完全崩溃,他们只是停止工作。
我已经尝试卸载并重新安装32位oracle客户端,设置oracle_home环境variables,使用c:\ windows \ system32中的软链接,并更改PATH环境variables中条目的顺序,并设置NLS_LANG环境variables。
我真的很想弄清楚这一点,而不必find另一台机器来testingPro。 任何人都可以帮我解决这个问题吗? 由于我的32位软件连接正确,我认为这与Office试图使用64位驱动程序有关,但我不是这方面的专家。 所以,我不知道。
任何帮助将非常感激。 如果之前已经回答了,请提供一个链接? 我一直在上周的大部分时间里一直在search这个,并且一直无法find解决我的特定问题的任何事情。
我有一个类似的问题尝试使用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;