目的:
1.Microsoft SQL Server Express和ArcSDE Personal Edition for Microsoft SQL Server Express的配置安装,把SDE中的地图进行发布。
准备工作:
1.参考DeveloperKit\SamplesNET\Server\Web_Applications目录下的Common_CustomEditorTaskCSharp.zip。
2.ArcGIS Desktop的安装光盘或则单独版本的Microsoft SQL Server Express和ArcSDE Personal Edition for Microsoft SQL Server Express安装包。
开始:
1. 这次的地图数据与前面例子的都不同了,不再是文本文件的数据而且数据库数据,所以先说如何把Common_CustomEditorTaskCSharp.zip带的数据发布成地图,数据在Common_CustomEditorTask_CSharp\data文件夹下,EditParcels.mdf和EditParcelsDemo.mxd两个文件,mxd的文件没有什么好说的了,EditParcels.mdf是Sql Server的数据文件,由于是Sql Server的数据库就需要ArcSDE的支持了,这里为了方便数据库就用Microsoft SQL Server Express,ArcSDE就用ArcSDE Personal Edition for Microsoft SQL Server Express版本,不同的数据库需要相应版本的ArcSDE。
2.ArcSDE Personal Edition for Microsoft SQL Server Express在ArcGIS Desktop的安装光盘里能找到了,如下图:
3.点击这个选项后就可以安装ArcSDE Personal Edition for Microsoft SQL Server Express,如果机器上没有事先安装Microsoft SQL Server Express的话也没有关系了进入这个菜单后可以把Microsoft SQL Server 2005 Express Edtion选项勾起来,这样就会先安装Microsoft SQL Server Express,然后在安装ArcSDE Personal Edition for Microsoft SQL Server Express,至于安装过程很简单按照提示做就可以了,就不详细说了。
4.打开ArcCatalog,双击Database Servers下的Add Database Server输入Database Server:机器名\SQLEXPRESS连接到上面安装好的Microsoft SQL Server Express,这样就会在Database Servers下多一个:机器名_SQLEXPRESS。
5.右键点击机器名_SQLEXPRESS在出现的菜单中点击Permissions选项,然后添加ArcGIS Server container account(ArcGISSOC账号)。
6.右键点击机器名_SQLEXPRESS在出现的菜单中点击Attach选项,然后找到EditParcels.mdf文件确定这样就把数据文件附加到了数据库,机器名_SQLEXPRESS下多一个EditParcels数据库。
7.右键点击EditParcels数据库选择Administration菜单下Permissions的子菜单,然后为ArcGIS Server container account(ArcGISSOC账号)选择read\write 的权限然后确定。
8.接下来在 ArcMap打开EditParcelsDemo.mxd文件,可以看到左边所有的图层名称旁边都带红色的感叹号,右边是一片空白,说明这些图层的数据源都不正常了所以地图没法显示,效果如下:
9.依次双击这些图层名称在弹出的对话框中选择Source选项卡,然后在这么界面里点击Set Data Source按钮,为层查找数据源。
10.在弹出的Data Source选择对话框,Look in定位到Catalog->Database Servers->机器名_SQLEXPRESS.gds->EditParcels (VERSION:dbo.DEFAULT)下,然后根据相应的图层名选择相应的数据源点击Add按钮,比如层Address Points对应EditParcels.DBO.AddressPoints,同样把剩下所有的层都进行类似操作,这样所有图层就恢复正常。效果如下图:
11.所有图层都已经更正后保存EditParcelsDemo.mxd文件,然后就可以在ArcGis Server Manager或者ArcCatalog发布Map Service,名称:EditParcelsDemo;Pooling: Not Pooled;Min instances: 0;Max instances :6。并且把这个Service启动起来。
12.这样就把SDE中的数据发布到了ArcGIS Server中。地图的Edit下一篇继续写。