arcgis server 发布要素服务全过程记录(基于Oracle数据库)

1. 全过程概要

(1)Oracle数据库安装(服务端与客户端安装在一台电脑上)

(2)Oracle数据库配置与测试

(3)arcgis server安装与配置

(4)arcgis连接Oracle数据库

(5)arcgis server 服务器注册Oracle数据库

(6)arcgis server发布要素类服务

 

2. Oracle 数据库安装

参考博文:

https://blog.csdn.net/pancheng1984/article/details/79823467

https://blog.csdn.net/u012359618/article/details/53320447

 

(1)安装包准备:oracle11g, oracle11g 32位客户端,oracle11g 64位客户端。

(2)安装Oracle11g数据库服务端,期间最好不要有任何错误,否则会影响使用。尤其是卸载后重新安装,卸载一定要完全,卸载的步骤大概为:命令窗口卸载、注册表Oracle相关卸载、安装目录删除。

卸载参考博文:

https://blog.csdn.net/ninewind/article/details/89520400

(3)客户端安装同上,不要有错误,安装选项网上有些说必须选择instant类型,但管理员类型安装也可以。之所以安装32位客户端,是因为arcgis desktop为32位,需要32位客户端才能连接Oracle。

 

3. Oracle数据库测试与配置

注意:配置与测试期间可能会出现很多错误,一旦发现试遍网上的大部分方法都无法解决,那就需要卸载重装。要时刻记重新启动Oracle数据库监听服务和Oracle数据库实例服务。

错误排查参考博文:

https://blog.csdn.net/sword_anyone/article/details/90613996

 

(1)新增系统环境变量

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

(2)排序系统环境变量

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

(3)新建监听服务

         按照提示做,没什么难度。

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

(4)配置网络服务

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

主机名可以是计算机名,也可以是“localhost”,也可以是局域网ip地址。当发现1521端口号被占用时,可以停掉监听服务再试。配置完,一定要测试,一定要测试成功,而很多错误都是体现在测试失败上。

 

(5)修改监听文件

网络服务测试前要修改监听文件,添加一段代码,然后重启监听服务,再测试。添加的代码段如下:

    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME =E:\app\Nick\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
    )

相应位置需要改成自己的Oracle数据实例和Oracle安装主目录。

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

(6) 测试网络服务

切记,一定要测试成功,最麻烦、最困难、最恶心的就在这一步。善用网络,搜索错误标志,解决错误问题。

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

测试时记得更改登陆密码,即安装时设置的管理员密码。

 

4. arcgis server安装与配置

参考博文:

https://blog.csdn.net/iningwei/article/details/84595414?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.compare

 

(1)安装

按照步骤,安装时即创建站点。无坑。

 

(2)**

有**秘钥,有些**需要改系统时间。否则无法创建站点。

 

(3)修改权限

arcgis server安装完,会生成一个用户,需要把这个用户添加到Administrator组里,否则在arcgis server注册Oracle数据库时会出现权限不够的问题。

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

(4)创建站点管理员

浏览器打开 localhost:6443/arcgis/manager,按照步骤做,无坑,可能出现问题是**的时效性问题。

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

(5)arcgis中创建GIS服务器

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

这里有个坑,服务器url要改成“https://”开头,另外要想别的电脑访问你的服务器,这里需要写服务器ip地址,不能写“localhost”。

 

5. arcgis连接Oracle数据库

(1)直连方式(不适用arcgis server于注册Oracle数据库)

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

直连方式不需要在Oracle数据库实例中创建SDE空间表,用户名可以用创建Oreacle数据库时指定的用户,而不需要用“sde”当用户名

。这种方式可以供arcmap正常存存储和读取数据。

 

(2)创建SDE空间表

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

“Tablespace Name”一栏必须要填,否则不会创建SDE空间表,从而导致arcgis server 注册服务器时出错。

注册完后,再执行(1)中直连的步骤,注意这里用户名必须填“sde”。

 

6. arcgis服务器注册数据库

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

可以手动添加,也可以导入之前添加的数据库服务器。

这一步很容易出错,大部分是权限错误。比如下面的错误:

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

针对这个错误,检查环境变量,检查arcgis server 账户权限,检查SDE空间表的创建,检查arcgis连接的数据库的用户名和密码。

 

7. arcgis server发布要素服务

参考博文:

https://www.cnblogs.com/sguozeng/articles/6423260.html

https://blog.csdn.net/accpse/article/details/77045349

 

(1)将要素导入连接的Oracle数据库

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

导入要发布的要素数据,无坑。

 

(2)改变数据库中要素属性

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

(3)将数据库中数据拖到图层界面,“文件”,“share as”,“service”。

(4)发布要素类服务

arcgis server 发布要素服务全过程记录(基于Oracle数据库)

 

勾选“feature service”,“feature”中勾选“同步”等等。

检查服务,修改错误。

发布服务,这里可能会出现“error 001487”。参考如下博文:

http://blog.sina.com.cn/s/blog_93c4869e0102ymhf.html

https://www.baidu.com/link?url=e6Z1shjYcksO5Yy3aP18_Y-aNtbionE76A8FiMbikUfQNtKJU0FFqyXCTL9WxVMs7Ulms9KeZFLpcGm-yBt5ab1YpRfxQ6yPhbu4G3SL0VGjn6fk7oBZ8A3YPIWHgwL4yIMWe6siAZQQnUTQur-RHzOHt8vY_kbSuVzGVH2acHm4Uv93v7osB1oJxxNqD6K2vapoaExKyZ4cGV-XkySp3K&wd=&eqid=abb882d700092033000000045f06e939

http://zhihu.geoscene.cn/question/12389?sort_key=add_time

目前服务存在问题:浏览器可以在线编辑发布的要素数据,但arcgis中没有编辑权限,有可能还是权限有问题。