环境说明
客户端机器环境:
① Win7 SP1 64位
② ArcGIS Desktop 10.2 32位
③ ArcGIS Server 10.2 64位
服务器环境
① Windows Server 64位
② Oracle 11g 64位
问题
问题原因分析
① 要从 ArcGIS for Desktop 连接到 Oracle 中的数据库或地理数据库,请在 ArcGIS for Desktop 计算机上安装 Oracle 客户端,并将 PATH 环境变量设置为 Oracle 客户端的位置,然后在目录树中创建连接文件。
② ArcGIS Server的机器上需要安装64位Oracle客户端。
③ ArcMap的机器上需要安装32位Oracle客户端。
解决办法
1、安装Oracle客户端
要建立从客户端计算机到 Oracle 数据库的连接,必须在客户端计算机上安装 Oracle 客户端应用程序。同时,请确保您所安装的 Oracle 客户端应用程序的版本与要连接到的数据库版本相兼容。
下载instantclient_11_2的32位版本和64位版本,分别安装。如64位安装于D:\Program Files\instantclient_11_2,32位安装于D:\Program Files (x86)\instantclient_11_2。
注:如果从 32 位 ArcGIS 客户端进行连接,则必须安装 32 位 Oracle 客户端。即便是将 ArcGIS 客户端应用程序安装到一台 64 位操作系统 (OS) 的计算机上,且数据库和服务器的 OS 均为 64 位,也是如此。如果从 64 位 ArcGIS 客户端进行连接,则必须安装 64 位 Oracle 客户端。
2、设置PATH变量
将 ArcGIS for Desktop 上的 PATH 环境变量设置为 Oracle Client 安装程序的位置。
注:如果 ArcGIS for Desktop 和 ArcGIS for Server 安装在同一台 Windows 计算机上,则请将 PATH 变量设置为先读取 64 位客户端,后读取 32 位客户端。例如,如果 32 位 Oracle Instant Client 安装在 c:\Program Files (x86)\Oracle 下,64 位 Oracle Instant Client 安装在 c:\Program Files\Oracle 下,则将以下内容添加到 Window 中 PATH 变量值的开始位置: C:\Program Files\Oracle;C:\Program Files (x86)\Oracle;
修改ArcGIS所在客户端计算机的PATH变量,增加如下内容:D:\Program Files\instantclient_11_2;D:\Program Files (x86)\instantclient_11_2
如果在设置 PATH 变量前在计算机上运行 ArcGIS for Desktop,则重新启动 ArcGIS for Desktop 以选择新的设置。
如果要将Oracle数据库注册到ArcGIS Server,需要先手动重启ArcGIS server服务(或者重启计算机)以确保服务进程能够读取到oracle的 dll。
以上步骤配置完成后,在ArcMap里再连接Oracle,成功;向ArcGIS Server注册Oracle数据库,成功。
Esri官网所推荐的配置如下:
总结
简单来说,对于ArcGIS产品,是多少位的ArcGIS客户端,就需要配套多少位的Oracle客户端。
如32位的ArcGIS Desktop,连接Oracle数据库时需要配置32位Oracle客户端;63位的ArcGIS Server客户端,向其注册Oracle数据库时,需要配置64位Oracle客户端。
如果同时配备64位和32位的Oracle客户端,设置环境变量时将64位Oracle客户端目录写在前面,32位的写在后面。