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 按钮
参考资料: