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

0. 需要准备的软件

(1)Oracle主体程序

(2)Oracle客户端(32位+64位)

(3)arcgis Desktop

(4)arcgis server

(5)arcSDE

 

1. 全过程概要

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

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

(3)arcgis server安装与配置

(4)arcgis连接Oracle数据库

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

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

(7)客户端与浏览器使用要素服务

 

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)新增系统环境变量

 

(2)排序系统环境变量

 

(3)新建监听服务

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

 

(4)配置网络服务

主机名可以是计算机名,也可以是“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安装主目录。

 

(6) 测试网络服务

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

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

 

(7)有时候在创建数据库时,会报出保护EM失败、无法启动dbcontrol服务等提示,这种情况会导致无法打开oracle管理页面。需要打开命令行,进行如下设置:

      ①emca -deconfig dbcontrol db 用于删除dbcontrol
      ②emca -repos drop 用于删除EM
      ③emca -repos create 用于创建新的EM
      ④emca -config dbcontrol db 用于重新配置dbcontrol

(8)有时服务器重启后,监听服务和数据库实例正常运行,但是数据库无法连接,显示错误“ORA-01034 - Oracle not available”或者“ORA-27101 - shared memory realm does not exist”。

到ORACLE_BASE\ORACLE_HOME\NETWORK\ADMIN下面找sqlnet.ora文件
  把sqlnet.authentication_services=(NTS)  改成 sqlnet.authentication_services=(NONE),然后手动重起一下数据库实例服务。

 

(9)设置SDE表空间自动增长

当导入大量空间数据时,SDE表空间会因为空间不足,导致写入数据失败,提示错误 “000210: 无法创建输出” 或 “ORA-01658无法为表空间中的段创建INITIAL区”,此时需要设置sde表空间自动扩张。

    首先用PLSQL工具连接数据库,参见 https://jingyan.baidu.com/article/6181c3e0c756ba152ef1532a.html         和    https://www.cnblogs.com/mingforyou/p/7110459.html

    其次查看sde表空间属性 

    

SELECT file_id, file_name, tablespace_name, autoextensible, increment_by 
FROM dba_data_files
WHERE tablespace_name = 'SDE'
ORDER BY file_id desc;

修改表空间属性自动扩展,空间数据可以扩展的大一点,每次100M。代码中的路径可由上述语句结果中复制出来。然后重启服务器。

ALTER DATABASE DATAFILE 'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SDE' AUTOEXTEND ON NEXT 10M

 

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)破解

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

arcgis server 10.4 安装后,会出现创建站点没有权限的情况,这种一般是授权文件的问题,可以先去安装目录下\ESRI\License10.4\sysgen,把keycodes这个文件删了,重新用你好的授权文件授权。如果还不行,那就是你本来的授权文件有问题。

arcgis server 10.2 官方不兼容windows server 2012,能安装,但打不开manager页面。要么换成windows server 2008的服务器系统,要么,解决不兼容的问题:

     ① 先去下载1.6.2版本的dojo,访问dojo下载地址:   http://downloads.dojotoolkit.org/release-1.6.2/ ,解压后替换 ArcGIS\Server\framework\runtime\tomcat\webapps\arcgis#manager\js\dojo 下全部文件;

     ② 浏览器输入 http://localhost:6080/arcgis/admin/ ,通过createnewsite的接口方法创建站点,然后管页面可以正常使用。

 

 

(3)修改权限

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

 

(4)创建站点管理员

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

arcgis server 10.2 端口号为6080,且为http协议。

 

(5)arcgis中创建GIS服务器

 

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

除非,arcgis server 10.2 端口号为6080,且为http协议。

 

5. arcgis连接Oracle数据库

首先需要安装arcSDE,无坑,也不需要进SDE软件界面使用,因为现在都是隐式地调用。

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

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

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

 

(2)创建SDE空间表

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

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

注意,Oracle数据库的文件夹最好给予arcgis server账户“完全控制权限”,有必要时,还需要将该文件夹设置为共享文件。

arcgis desktop 10.2 的环境下有一个特殊的问题,同一个arccatalog中多次使用建立企业级数据库的工具,将会导致操作失败,只能关掉当前的desktop软件重开,再创建企业级数据库。

 

6. arcgis服务器注册数据库

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

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

针对这个错误,检查环境变量,检查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数据库

 

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

 

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

一定要选择“注册为版本”,其他两个选项似乎不是必须的(待验证)。

 

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

(4)发布要素类服务

 

勾选“feature access”选项

 

勾选“Sync”同步更新数据库功能

 

点击“Analyze”功能,根据报错信息,解决错误,可无视警告。

 

点击“publish”发布服务

发布服务,这里可能会出现“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

 

注意,必须要本地创建ArcMap工程才能发布,从其他电脑上拷过来的工程文件即使更新了数据源,也无法发布,提示 “00032 Standalone table's data source is inaccessible” 错误。

 

8. 客户端/浏览器使用GIS要素服务

(1)客户端使用要素服务

连接GIS服务器

 

导出服务器数据(注意是要素服务文件),并创建本地副本。

 

启动编辑,编辑完成后停止编辑,在相同菜单栏中选择“将本地编辑器内容同步到服务器”,需要等待几秒确认同步结果。

 

(2)浏览器使用要素服务

打开浏览器中服务器管理页面

 

点击上图中“REST URL”,后退至“service”页面,点击“FeatureServer”

 

 

选择“view in : ArcGIS Online map viewer”

 

进入浏览器在线查询和编辑页面,也可以直接把这个页面地址发给同一个局域网的电脑。比如

http://www.arcgis.com/home/webmap/viewer.html?url=https%3A%2F%2F192.168.0.127%3A6443%2Farcgis%2Frest%2Fservices%2Ftest20200709%2FFeatureServer&source=sd

(注意上述链接中的IP地址要替换为自己的服务器IP地址)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值