ArcMap 中发布要素服务(Oracle作为空间数据库)
在ArcMap 中发布普通的MapServer比较简单这里就不多过多的介绍,这里主要介绍如何发布一个完整的要素科查询、修改、新增、删除的图层服务。
环境准备:
ArcGis Desktop 10.2
ArcGis Server 10.2
ArcSDE
Oracle Server 64Bit
Oracle Clent 64Bit(最开始安装的32的客户端,但是在添加ArcGis Server中注册数据的时候会报错,所以后面又换成64位的客户端)
一、创建SDE并连接
1、打开ArcToolBox->Data Management Tools->Geodatabase Admintratroation->Create Enterprise Geodatabase
点击确定 显示创建信息 状态为绿色就成功了。
2、添加管理sde链接
双击连接,如果报错了先确保oracle 能正常连接用户。
3、导入数据到sde中
我这边导入是的单个shp文件,也可以导入其他数据。
导入成功后将sde 数据拖到layers中 查看数据,为接下去的发布服务做准备。
二、发布服务
注:如果没有注册数据库,这里直接发布会一个错误,0090,意思就是提示用户要注册数据库。
可以双击错误信息,或者是在服务配置里面的。
选择我们刚刚链接的sde连接 会自动把连接信息读取过来
添加用户后用户前面打钩就说明添加成功了,再次分析刚刚那个 0090的错误就没有了。
注:可是注册数据库失败并报这个错,那就需要检测Oracle client 的版本以及多少位的。(这个错误是空间数据再使用oracle的情况此才可能出现,我最终的解决方法是安装一个64位的oracle client,就不会报这个错,因为我之前安装是32位的客户端。)
发布成功,就说明 已经完成要素图层的发布。
总结遇到问题:
arcgis 我也是刚接触,之前自己不懂 在发布要素服务的时候 将导入的shp直接导入arcmap 中然后直接发布要素服务 发布成功了也没有报错,也会自己在sde库中创建 对应的数据表,但是在插入图层对象的时候 总是报400,无法完成插入操作,后来一直排查,才发现必须先导入数据到sde库中 然后把sde库发布成要素服务,其目的就是让空间数据跟要素服务进行关联,每次修改图层信息的就不需要重启ArcGis Server,从而实现编辑图层的需求。