http://ziliao1.com/Article/Show/48126AB1A8F563D35E3D0345677C906B

众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式。一是服务连接方式,一是直连方式。后者也是Esri所推崇的方式。但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的。下面就以截图说明的形式跟大家分享下在ArcGIS10.0和10.1中安装和配置空间数据库引擎的一般流程和注意事项。

1.直连方式

Esri之所以推荐使用直连方式,就是因为直连方式有明显的优势,可以给客户带来更大的效率和价值。

a.直连方式的主要优势:

A.直连方式较服务连接方式卸载了20%-40%的负载;

B.直连方式降低了服务器端内存的需求;

C.直连方式处理速度更快,在客户机上执行处理;

D.不需要安装ArcSDE软件。
b.直连配置需求

上面也说过了,直连方式省去了ArcSDE软件的安装步骤。但是它却需要安装相应的数据库客户端,后面都以Oracle11gR2为例。确保Oracle数据安装配置正确后,需要知道sys用户密码、端口号、实例名、服务名。

c.配置流程

  A.安装和配置Oracle客户端(32

对于ArcGIS Desktop连接来说,目前都需要安装Oracle11gR2的客户端,当然可以使用对应版本的免安装客户端,只不过需要手动配置环境变量而已。

如果是安装完database后,再安装的client,那么环境变量不需要手动修改。其内容如下:

E:\app\weihu\product\11.2.0\client_1\bin;E:\app\weihu\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin

然后,需要使用客户端的NetManager工具配置服务名,如下图的arcsde。

    对于免安装的客户端,需要手动配置network/admin下的tnsnames.ora文件。

B.ArcGIS  Desktop连接参数设置

完成Oracle客户端安装后,就可以在ArcGIS桌面中进行连接了,其设置参数和连接方式在ArcGIS Desktop不同版本稍有区别。

a.ArcGIS Desktop10.1

10.1中在ArcCatalog里面的数据库连接中添加空间数据库连接,如上图。指定参数数据类型、实例(\\ip:port\servicename 可以参考左下角的Abort Database Connections)、认证。

b.ArcGIS Desktop10.0

  直连方式在10.1与10.0中差异较小,注意相关参数,主要是机器(ip)、服务(sde:oracle11g:服务名[arcsde:使用客户端配置的参数])、认证相同,如上图。

2.服务连接方式

a.服务连接优势

对于很多实施人员来说,他们的应用可能比较简单,需要考虑的主要是实施部署的便捷。那么服务连接的优势就体现出来了。不需要客户端安装和配置。

b.软件安装与配置

对于服务连接方式,都需要安装ArcSDE  for对应数据库版本的软件包。这个在ArcGIS10.1和ArcGIS10.0中差别较大。

A. ArcGIS10.1中ArcSDE的安装与配置:

找到对应数据类型和版本的软件安装包安装即可,没有Post Install的向导。在软件安装完成后来使用命令创建sde服务。

找到ArcSDE安装目录下的service.sde文件取消esri_sde 5151/tcp前面的#号注释。

同时,找到Windows中的service(system32/drivers/etc)文件添加一行esri_sde  5151/tcp。

然后使用命令sdeservice创建sde服务,如下图,参数包括数据库类型、实例名称、sde用户密码、服务名等。

  服务配置成功后,就可以在ArcGIS Desktop中连使用服务连接了。但是10.1中服务连接需要使用工具创建连接文件,然后连接,而不能像10.0中直接使用服务名或者5151连接。


  使用Workspace工具箱中的Create ArcSDE Connection File工具来创建连接文件。

参数:连接文件存放位置、文件名、机器、服务名称(esri_sde)、数据库名、认证等。

上图双击或者使用添加数据按钮指定到该文件,就可在ArcGIS Desktop10.1中完成空间数据库的服务连接。

B.ArcGIS10.0中ArcSDE的安装与配置:

在ArcSDE10.0中提供了Post Install的向导,更能体现服务连接的便捷。向导可以完成的配置如下图:

  初次安装选择全部,然后下一步可以实现Oracle数据库连接检查(确保实例运行正常)。


  接下来,可以设置sde的用户名和密码,创建sde表空间。


  然后,设置服务名、端口号、机器名,Oracle实例名等,如下图。

按照Post Inatall向导设置参数,最后完成授权,这样就完成10.0环境的服务连接安装与配置。不需要使用命令行创建服务,直接可以在ArcGIS  Desktop中设置参数就可以连接了。


  在ArcGIS10.0中服务方式连接和直连都可以使用ArcCatalog中空间数据库连接的节点,设置参数进行连接,唯一不同就是服务参数。服务连接输入esri_sde或者5151即可,直连需要输入sde:oracle11g:arcsde,具体可以对比相关截图。

3.ST_Geometry配置

ST_Geometry是一种遵循ISO和OGC规范的,可以通SQL直接读取的空间信息存储类型。采用这种存储方式能够更好的利用Oracle的资源,更好的兼容Oracle的特征。Esri的ArcSDE9.2开始支持这种存储类型。

A.ST_Geometry主要优势

ST_Geometry的优势主要体现在以下几个方面:

A.可以通过SQL函数直接访问空间数据;

B.使用SQL语句操作空间数据可以和其他类型数据一样便捷;

C.可以通过存储过程来进行复杂的空间数据检索和分享;

D.其他业务系统可以通过SQL语句来访问Geodatabase中的数据;

ST_Geometry配置的方式

值得注意的是在配置ST_Geometry时,需要根据数据库的版本和位数来安装对应版本的ArcSDE软件(比如Oracle是Win64_11gR2_database,就需要安装ArcSDE for Oracle 11g64位软件)。主要是包括配置需要引用的动态库(st_shapelib.dll、pe.dll、sg.dll)。

官网给出了两种配置方式:

http://support.esri.com/en/knowledgebase/techarticles/detail/38043

相关信息:

http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/na/0093000015qp000000/

A.  配置listener.ora和tnsnames.ora文件方式;

在保证数据库监听配置正常的情况下,添加以下信息。

首先,在Oracle的安装目录下(%ORACLE_HOME%\Network\Admin\)找到tnsnames.ora文件;添加EXTPROC_CONNECTION_DATA信息如下:

EXTPROC_CONNECTION_DATA  =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

(CONNECT_DATA =

(SID = CLRExtProc)

(PRESENTATION = RO)

)

)

其次,找到(%ORACLE_HOME%\Network\Admin\)下的listener.ora在SID_LIST_LISTENER下添加:

(SID_DESC =

(SID_NAME =  CLRExtProc)

(ORACLE_HOME =  C:\app\Administrator\product\11.2.0\dbhome_1)

(PROGRAM = EXTPROC)

 (ENVS =  "EXTPROC_DLLS=C:\ArcSDE\ora11gexe\bin\st_shapelib.dll,PATH=C:\ArcSDE\ora11gexe\bin")

注:

A.路径中最好不要有空格;

B.以上配置需要注意两个文件listener.ora和tnsnames.ora中的SID和KEY一致。

不然会出现如下错误提示:


  确保配置正确后,重启Oracle监听(lsnrctl stop、 lsnrctl start);

最后,通过命令测试ST_Geometry配置是否正常。

SQL>  select * from user_libraries;来检查st_shapelib.dll的位置配置。

  如果不是正确的dll路径(还有对应位数64/32)可以通过以下命令修改:create or replace library ST_SHAPELIB as 。

以上命令仅能说明dll位置配置是否正确,能否正常工作应该通过SQL函数来判断:

如上图,ST_ASTEXT函数能够正确输出信息,说明ST_Geometry配置成功。

  1. 配置extproc.ora方式;

在Oracle的安装目录下,找到%ORACLE_HOME%\hs\admin\下的extproc.ora文件,设置SET EXTPROC_DLLS参数。

EXTPROC_DLLS=ONLY:C:\\ArcSDE\\ora11gexe\\bin\\st_shapelib.dll或者EXTPROC_DLLS=ANY。需要注意的是后者需要拷贝st_shapelib.dll、pe.dll、sg.dll三个库文件到Oracle安装目录(%ORACLE_HOME%\BIN)下。检查方法同上。

4.空间数据注册

对于开发商或者用户来说,他们除了做好空间数据库的配置外。还会牵扯数据组织以及服务发布等问题。在ArcGIS Server10.1中提供了空间数据库和文件夹注册的功能。其实,文件夹的注册就类似于ArcGIS Server10.0中我们需要设置数据存储目录,共享并且设置权限来进行数据的组织。Server10.1中注册数据库和文件夹还有一个作用就是满足生产数据和发布服务数据一致的需求。在不注册的状态下,发布服务时,会将服务相关数据上传到GIS服务器,这样不仅增加存储空间,尤其是影像数据。而且会延长服务发布的时间。因此,我们一般推荐将GIS数据组织在注册过的文件夹或者空间数据库中来,提高工作效率。ArcGIS Server10.1中注册数据库和文件夹的方式有桌面端和Manager网页端两种。

A.桌面的服务器连接属性设置:

在ArcGIS桌面的ArcCatalog中有GIS服务器连接的节点,点击可以添加GIS服务器,在GIS服务器的连接上右键属性可以打开下面的对话框,在Data Store中可以注册数据库和文件夹,并验证。

B.ArcGIS  Server Manager页面中设置

在Server10.1的Manager页面中,点击站点——GIS服务器——数据存储,可以找到下图的配置页面,注册方式与桌面端类似。

 5 .总结

空间数据库引擎ArcSDE的直连方式和服务连接方式分别适用不同的应用场景。直连方式由于在客户机上执行处理,所以,它不仅处理速度较快、而且还能够降低服务器器端内存的消耗和负载。因此,推荐大家使用直连方式,并且在发布服务时注册相关数据库和文件夹。但是,由于直连方式需要安装数据库客户端,配置相对比较繁琐。对于并发量较小的简单应用使用服务连接方式可能会更加便捷。此外,ST_Geometry存储格式可以让GIS专业人员通过SQL来方便、快捷、高效的操作空间信息就像操作其他数据一样,因此也推荐大家使用。

ArcSDE数据库连接(直连、服务连)与GT_Geometry存的更多相关文章

  1. ArcSDE数据库连接(直连、服务连)与GT_Geometry存储配置图解

    众说周知,ArcSDE空间数据库引擎提供了两种连接数据库的方式.一是服务连接方式,一是直连方式.后者也是Esri所推崇的方式.但是,在客户的生产环境和开发商的开发环境中这两种方式都是有需求的.下面就以 ...

  2. ArcGIS Server 10.1发布数据源为ArcSDE(直连)的MXD【转】

    因为ArcSDE10.1基本默认直连,所以我们在发布直连的MXD仍然需要注意相关的事宜. 1:保证两台机器都能够访问共享存储的信息 2:确保已UNC路径保存ArcCatalog的文件夹连接,而且直连的 ...

  3. ArcGIS Desktop 10.0 直连 ArcSDE 10.2

    环境 客户端:win7 64位 sp1,oracle11.2 32位客户端,ArcGIS Desktop 10.0 服务端:win7 64位 sp1,oracle11.2 64位服务端,ArcSDE ...

  4. windows + SQL Server环境,创建ArcSDE服务

    ArcGIS for Server启用FeatureService需要ArcSDE和Geodatabase. 使用ArcSDE需要创建windows服务,ArcSDE只有命令行,所以只好阅读文档,找合 ...

  5. 面向亿万级用户的QQ一般做什么?——兴趣部落的Web同构直出分享

    作者:李强,腾讯web开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/348.html 一.什么是同构 ...

  6. 面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:李强,腾讯web开发工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.原文链接:http://wetest.qq.co ...

  7. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)

    十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器 ...

  8. java和c#通过esb服务互调用组件

    场景:java和c#写的服务.站点,互相任意调用.实现一切即服务. 解决方案:使用这种轻量级的esb架构,通过tcp通信解决通信传输问题,总线服务解决服务地址问题,契约解决数据交互问题.由于组件封装了 ...

  9. Amazon.com 美国亚马逊 直邮中国 手把手教程(转)

    什么值得买已经发布2014最新版美亚直邮攻略 海淘攻略:美国亚马逊 直邮服务 手把手教程(2014最新版) ,调整幅度较大,值友们可以移步到新攻略中查看. 相比德国.英国亚马逊,美国亚马逊的大部分商品 ...

随机推荐

  1. C3P0连接池工具类实现步骤及方法

    C3P0连接池的工具类 使用C3P0获得连接对象连接池有一个规范接口 javax.sal.DataSourse 接口定义了一个从连接池中获得连接的方法getConnection(); 步骤导入jar包 ...

  2. Comparator.comparing比较排序

    使用外部比较器Comparator进行排序 当我们需要对集合的元素进行排序的时候,可以使用java.util.Comparator 创建一个比较器来进行排序.Comparator接口同样也是一个函数式 ...

  3. java生成随机字符

    1.生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random; //length用户要求产生字符串的长度 public static Str ...

  4. P2756 网络流解决二分图最大匹配

    P2756 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 P2756 飞行员配对方案问题 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语 ...

  5. windows环境下Robot Framework的安装步骤

    Robot Framework是由python编写的开源的用来做功能性测试的自动化测试框架.本文介绍Robot Framework在windows环境下的安装步骤. 安装python从python官网 ...

  6. mysql两种常用备份工具

    一.mysqldump备份: 在开启GTID模式时,在master上执行的备份: --set-gtid-purged=OFF 在开启GTID模式时,要在slave上执行,想重新搭建一套slave环境. ...

  7. 2. 更改InnoDB redo日志文件的数量或大小

    2. 更改InnoDB redo日志文件的数量或大小 要更改InnoDB 重做日志文件的数量或大小,请执行以下步骤: 1)停止MySQL服务器,确保正常关闭且没有错误发生 2) 编辑my.cnf以更改 ...

  8. 谁才是最强战舰!-From 南京理工大学第八届程序设计大赛(校外镜像),博弈~~

    谁才是最强战舰! Time Limit: 1000MS Memory Limit: 65536KB Description 依阿华来到镇守府的第一件事情,就是找大和solo!然而这并不是什么好消息,说 ...

  9. 【RMAN】RMAN跨版本恢复(下)--大版本异机恢复

    [RMAN]RMAN跨版本恢复(下)--大版本异机恢复 BLOG文档结构图 ORACLE_SID=ORA1024G 关于10g的跨小版本恢复参考:http://blog.chinaunix.net/u ...

  10. HDU 4334 5-sum

    题目大意: 从5个集合中个选取一个数出来,使5个数相加之和为0 , 判断是否存在这种可能 因为集合数目最多200,那么200^3 = 8000000 , 那么这里很明显要把5个数拆成2个和3个计算,因 ...