ArcGIS Desktop连接SDE空间数据库和ArcGIS Server注册SDE空间数据库

来源:互联网 发布:linux mysql dump 编辑:程序博客网 时间:2024/05/18 05:00

环境

ArcGIS版本:10.1,10.2,10.3,10.4,10.5

数据库:oracle11g 11.2.0.4,11.2.0.1

背景

从10.1开始ArcGIS的SDE就推荐用户采用直连的方式。在ArcGIS10及早期的版本中,很多用户都是采用服务的连接方式,也就是需要安装ArcSDE软件。但现在不建议这么做,主要是因为SDE服务在遇到数据量较大的时候就经常出现不稳定的现场,需要去调整的参数涉及很多,所以采用直连的方式是目前的最佳选择。所谓直连其实就是通过Oracle客户端的驱动去连接Oracle数据库。

这里我们就来讲讲如何在ArcGIS Desktop和ArcGIS Server中连接到Oracle数据库。

创建SDE空间数据库

我们要在ArcGIS Desktop中连接到SDE数据库之前,必须先要在Oracle重创建SDE数据库。比较简便的创建方式是使用Toobox工具箱中的Create Enterprise Geodatabase【创建地理数据库】工具在关系型数据库中创建地理数据库。

在创建之前,我们需要在Desktop所在的机器上安装并配置好Oracle的客户端。目前Oracle提供了轻量级的Oracle客户端,我们需要到Oracle管网去下载32位的客户端。为什么需要下载32位的客户端,而不是64位的客户端?这主要是因为ArcGIS Desktop是32位的应用程序。我们只需要下载下面这个文件就可以了,它是一个绿色版软件,不需要安装,只需要解压即可。

instantclient-basic-nt-11.2.0.2.0-win32.zip

    当我们解压了之后,下一步需要做三个操作:

  1. 在系统环境变量Path路径中添加Oracle客户端的根目录;

  2. 从数据库中拷贝tnsname.ora文件到oracle客户端的根目录下,同时配置服务连接到Oracle数据库,如下图所示:

  3. 在系统系统环境变量中,添加一个环境变量TNS_ADMIN,这个变量的值指向tnsnames.ora文件的路径如下图所示:

到这一步我们就把在Oracle中创建SDE空间库所需要做的操作都准备好了,我们可以使用PLSQL工具进行测试是否能连接上。下一步只需要把ArcMap打开,在工具箱中打开【创建地理数据库】工具,输入相应的参数即可,如下图所示:

这里需要说明一点的是一般来说,Oracle数据库的管理员一般都会对表空间文件的存储位置有要求,所以我们可以先在数据库中建好表空间,再用【创建地理数据库】工具创建SDE库。当然,如果需要预先建好SDE用户也是可以的,但有以下两方面的要求:

  1. 用户名必须是SDE;
  2. 需要给SDE用户赋予以下权限:

在ArcGIS Desktop中连接SDE空间数据库

在上一章节我们已经创建好了SDE数据库,下面我们就讲讲如何在ArcGIS Desktop中连接SDE空间数据库,为什么要连接,这是因为SDE数据库中的数据的管理,我们需要通过ArcGIS Desktop来完成,譬如数据的入库、更新、删除、查询等操作。

要连接到SDE数据库,其实在上一章节已经将到了,需要做的操作这里再重复一次:

  1. 下载32位的Oracle轻量级客户端;
  2. 在系统环境变量Path中加入Oracle轻量级客户端的根目录路径;
  3. 从Oracle服务器上拷贝tnsnames.ora文件到Oracle轻量级客户端的根目录下;
  4. 在系统环境变量中添加TNS_ADMIN环境变量,值指向tnsnames.ora文件所在的路径;
  5. 打开ArcMap,在右侧的【目录】窗口,点击【连接数据库】,在弹出的窗口中输入相应的参数,如下图所示:

在ArcGIS Server中注册SDE空间数据库

前面两章节已经告诉大家如何创建SDE数据库,并在ArcMap重连接SDE空间数据库。如果我们需要将SDE空间数据库中的数据发布成地图服务,那我们需要先让ArcGIS Server能够具备SDE空间数据库的权限,也就是要把SDE库注册到ArcGIS Server中。10.0及之前的版本是不需要这样的操作,这也是从10.1以后的一个调整。那如何才能在ArcGIS Server中注册SDE空间数据库,操作的步骤如下:

  1. 需要配置Oracle64位的客户端,我们可以使用轻量级的客户端,为什么这里需要64位而不是32位?这也是和对应的程序ArcGIS Server有关,ArcGIS Server是64位的程序,所以对应的就需要64位的驱动。
  2. 下载解压之后在系统环境变量Path中加入Oracle轻量级客户端的根目录路径;
  3. 从Oracle服务器上拷贝tnsnames.ora文件到Oracle轻量级客户端的根目录下;
  4. 在系统环境变量中添加TNS_ADMIN环境变量,值指向tnsnames.ora文件所在的路径;

你会发现配置的过程和Destkop一样,唯一的区别在于一个是32位的客户端,一个是64位的客户端。

注意:这里的配置是ArcGIS Server和ArcGIS Desktop不在一台机器上的场景。如果ArcGIS Server和Desktop安装在同一台机器上,需要都安装32位的数据库客户端和64位的数据库客户端。在配置Path环境变量时需要把64位客户端放在32位客户端的前面,如下图所示:

环境配置好之后,最后我们只需要把SDE注册到ArcGIS Server中即可,如下图所示:

0 0
原创粉丝点击