你好,
我使用File Geodatabase API v.1.5.1与. net,当我尝试插入一个新行到现有的功能类,我得到以下错误“用户没有执行该操作的权限”。
1.Geodatabase. open (@"C:\temp\MyTest.gdb");
2.Table Table = geodatabase.OpenTable("\\MyFeatureClass");
3.Row newRow = table.CreateRowObject();
4.PointShapeBuffer sb = new PointShapeBuffer();
5.某人每次(ShapeType.Point);
6.Point Point = new Point(x,y);
7.某人.point =点;
8.启动。SetGeometry (某人);
9.table.Insert(启动);
10.geodatabase.Close ();
我注意到的是物业表格IsEditable在我的测试中是假的。在API附带的“编辑”示例中,当他们打开“城市”功能类时,它可以正常工作。房地产表格IsEditable设置为true。这和我看到的问题有关吗?
顺便说一下,我正在使用的地理数据库是在ArcGis Pro 2.4.2中创建的。
有办法解决这个问题吗?
先表示感谢,
格雷格
解决了!转到解决方案。
显然,有一些限制禁止用户修改数据。以下是该手册的摘录。
文件Geodatabase API的限制
虽然File Geodatabase API支持读取复杂Geodatabase类型的模式和数据,但该API不支持对以下数据集类型的插入、删除或更新的Geodatabase行为:
在大多数情况下,API将阻止用户尝试编辑具有复杂行为的对象,但是开发人员有责任理解他们应该和不应该通过API编辑什么,并避免编辑具有地理数据库行为的数据集。有一个名为Table::IsEditable的方法,它将为开发人员提供确定数据集是否可以安全编辑的能力。
File Geodatabase API的其他限制:
我发现了这个Geodatabase Error(-2147220987):用户没有执行该操作的权限。这没有任何帮助,因为我没有使用任何作家。事实上,我不知道它们是什么。我只是使用文件geodatabase API从文件打开一个db,并将一行插入到一个特征类。
显然,有一些限制禁止用户修改数据。以下是该手册的摘录。
文件Geodatabase API的限制
虽然File Geodatabase API支持读取复杂Geodatabase类型的模式和数据,但该API不支持对以下数据集类型的插入、删除或更新的Geodatabase行为:
在大多数情况下,API将阻止用户尝试编辑具有复杂行为的对象,但是开发人员有责任理解他们应该和不应该通过API编辑什么,并避免编辑具有地理数据库行为的数据集。有一个名为Table::IsEditable的方法,它将为开发人员提供确定数据集是否可以安全编辑的能力。
File Geodatabase API的其他限制: