代码改变世界

ArcCatalog连接远程机器的ArcSDE服务总结

2007-05-15 16:57  flyingfish  阅读(5661)  评论(0编辑  收藏  举报

ArcCatalog连接远程机器的ArcSDE服务总结

最近出于工作需要,正在仔细探索空间数据库引擎方面的一些东西,首先当然是从ArcSDE下手了。ArcSDE很早就用过的,不过会用归会用,一些概念总是很含糊,工作需要就自告奋勇来钻一下了。最近工作之余可能会陆续写一些对ArcSDE的个人认识,ArcGIS的帮助系统应当事最好的资料了。

按照我个人的理解ArcSDE客户端(ArcCatalog)和ArcSDE的应当是关系是Client/Server的关系。者通过分析它的连接机制就可以看出来一些端倪。

ArcSDE是服务端,完成所谓的空间数据库中间件功能,ArcSDE所在的机器是必须有DBMS的驱动的,就是必须装DBMS的客户端。ArcSDE服务器将会直接连接到DBMS(当然DBMS未必需要和ArcSDE在一台机器上,也可以是局域网内或者公网上的DBServer了)。

ArcCatalog之类的客户端(自己用SDE 的JavaAPI,或者C API写的程序也算客户端)通过Tcp/IP通信的机制连接到ArcSDE,所以ArcSDE的机器和客户端可以是异构的系统,即使一个Unix一个Windows也没关系。

如果是这样的话,等于ArcSDE本身的工作模式是标准的3层架构的,抛开二次应用开发的业务数据需要访问数据库来说的话,ArcSDE的客户端本质上连数据库运行时客户端都不需要安装。简单地说就是一个客户端EXE在网络连通条件下通过调用ArcSDE的API就可以完成对远程空间数据的浏览和编辑(当然如果你用AE作显示可是需要AE Runtime的哦),ArcSDE完全封装了对空间数据的访问。

下边根据使用经验对ArcSDE客户端连接方式做一个小结

一、连接方式

1、用IP地址+端口号连接

如图操作就可以了,各参数信息请看帮助,多数人犯的错误都是没有看帮助,我也是了,所以在这里总结以下。

C:\WINDOWS\system32\drivers\etc\services文件可以找到esri_sde服务,及其端口号(默认是5151)如下行:

esri_sde    5151/tcp    #ArcSDE 9.0 for Oracle9i

 

2、可以用主机名

    主机名和ip对应关系存放在C:\WINDOWS\system32\drivers\etc\hosts文件中,如果用主机名连接确保主机名能够被解析成IP,通过在hosts文件中加入一行可解决。如:

192.9.104.107 testhost

 

3、Direct Connect的配置见帮助,没时间翻译了

 

二、各参数含义

 

 

1.Server

2.Service

服务名和端口号在这里等价,连接远程的SDE推荐用端口号,否则需要在service文件中加入esri_sde    5151/tcp对照关系。

 

3.Database

 

4.Username

 

5.Password

 

6.Test Connection 按钮

 

参考资料:

1、ArcCatalog无法远程连接SDE数据库