FileGDBException: The user does not have permission to execute the operation.

6432
24
Jump to solution
11-17-2014 05:08 AM
PrzemyslawTyrtania
New Contributor

I'm getting this error when trying to execute table.Delete(row), the error is thrown on the first row. There are many tables in this file geodatabase so I've tried with different ones for some tables it works and for others it doesn't. These are all standalone tables, no relationships, editor tracking is not on. File geodatabase is generated from a 10.2.2 geodatabase. This table has a few fields and the only field that stands out is Settings which is defined as nvarchar(max) in geodatabase.

Fields:

ObjectID

Name: text 255

Settings: text 1073741822

ModifiedTime: date

Version: Text 255

SettingsType: Text 255

RowCollection rowCollection = table.Search("*", whereClause, RowInstance.Unique);

foreach (Row row in rowCollection)

{

                    table.Delete(row);

}

0 Kudos
1 Solution

Accepted Solutions
LanceShipman
Esri Regular Contributor

The API only supports simple features. Extensions are not simple data. so this is consistent. Thank you for verify that this was the issue.

View solution in original post

0 Kudos
24 Replies
VinceAngelo
Esri Esteemed Contributor

So the obvious question is:  What is different about the tables on which Delete is permitted from those on which it is not?  Are there filesystem permission issues?  Are you sure there isn't any non-simple aspect to the tables?  What does Table::IsEditable report?

- V

0 Kudos
PrzemyslawTyrtania
New Contributor

Thanks for quick reply. So to answer your questions, I've been looking at different tables and i don't see anything different, of course i maybe overlooking something or not looking in the right places, BUT IsEditable is returning FALSE, so that is big hint, can you tell me what controls that flag? Code that generates this file geodatabase is a python script, it connects to geodatabase with account that has owner permissions and does this for each table:

source_db = "\\\\" + hostname + "\\Deployment\\Connection.sde"

arcpy.env.workspace = source_db

items = arcpy.ListTables()

for sourceItem in items:

                targetItem = string.split(sourceItem, ".")[len(string.split(sourceItem, "."))-1]

                target = target_db + "\\" + targetItem

                source = source_db + "\\" + sourceItem

               arcpy.Copy_management(source, target, "Table")

I can add screenshots from ArcCatalog if you think its helpful

0 Kudos
LanceShipman
Esri Regular Contributor

The API will not allow the edit of table or feature classes involved in Annotation and Dimension feature classes, Relationship Classes, Networks (GN and ND), Topologies, Terrains, Representations, Parcel Fabrics and Edit Tracked tables/feature classes.

Screen shots showing the content of the file geodatabase would be helpful.

Regards,

Lance Shipman

0 Kudos
PrzemyslawTyrtania
New Contributor

I don't think this table is involved in any of these, I've posted some screenshots.

0 Kudos
VinceAngelo
Esri Esteemed Contributor

It's hard to tell, but it seems those screenshots are from the enterprise geodatabase, not from the FGDB itself.

- V

0 Kudos
PrzemyslawTyrtania
New Contributor

Screenshots from fgdb are pretty much the same:

0 Kudos
LanceShipman
Esri Regular Contributor

Can you post screen shots of the contents of the file geodatabase.

0 Kudos
PrzemyslawTyrtania
New Contributor

its a lot of stuff

0 Kudos
LanceShipman
Esri Regular Contributor

1) Create a new file geodatabase with ArcGIS Desktop.

2) Copy/Paste the table to the new file geodatabase.

3) Examine the results.

0 Kudos