刚刚结束2011年Esri中国合作伙伴技术专场---构建成功Web GIS应用济南站的培训,在与用户Q&A的时候,有个用户就这样提问,我是否可以对同一个要素类对不同要素类,由于当时是现场回答,我没有怎么想太多,对用户的答复是否对的,因为针对数据库层次来说设置权限ArcGIS软件只支持针对要素类级别的权限,并没有针对要素类内部不同要素的权限,现在想想,其实还是有办法来解决用户的相关问题的,可能跟权限没有什么关系,但是可以解决用户的相关要求。
重新解释一下用户的要求,比如说我有一个整个北京市宗地的要素类,所有地区的要素类都在一起,但是有一个要求,用户只想在一个要素类里面进行操作,而且朝阳区国土局的工作人员只能编辑所属朝阳区的数据,海淀区国土局工作人员只能编辑所属海淀区的宗地,其实也就是一个同一要素类对不同要素设置权限的问题。
我们可以变相的来解决这个问题,因为我们有MXD,我们可以针对同一个要素类先进行属性查询,将不同区域的要素查询出来,可以使用defination query,比如将朝阳区的要素查询出来,然后保存为MXD,如果对数据本身要求高的话,可以先创建子版本然后在子版本进行查询,再保存MXD,这样用户打开的MXD直接就是只有该区域的数据,然后继续编辑就可以了。
其实这也是个变通方法,不是特别的严密了。
还有一种方法,可以参考:http://blog.csdn.net/linghe301/article/details/6583546
就是使用同步复制的方法,先查询出来,跟上面的比较类似,然后check out一个FGDB,当然这个FGDB就是只有可以编辑指定区域的数据,然后编辑完毕后,再check in进去。
#####################################################################
那么针对这个问题再想想关于ArcGIS权限的相关知识。
READONLY 该参数用于允许或不允许由 ArcSDE 客户端对地理数据库进行编辑。如果设置为 TRUE,则 ArcSDE 服务不允许由 ArcSDE 客户端执行编辑操作。 FALSE FALSE = 允许编辑 TRUE = 只读连接
当然如果对数据库比较熟悉的话,也可以进行控制,可能我暂时还没有想更好的办法,当然了,写程序应该也是可以控制的。
我们可以使用纯数据库的方法来解决这个问题:http://blog.csdn.net/linghe301/article/details/8751879