从ArcGIS连接Oracle数据库,并将Oracle数据库注册到ArcGIS Server

环境说明

客户端机器环境:

① 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 Filesinstantclient_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 FilesOracle 下,则将以下内容添加到 Window 中 PATH 变量值的开始位置: C:Program FilesOracle;C:Program Files (x86)Oracle;

修改ArcGIS所在客户端计算机的PATH变量,增加如下内容:D:Program Filesinstantclient_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位的写在后面。

原文地址:https://www.cnblogs.com/hans_gis/p/11377999.html