I am a newbie to this whole database user/role management thing. I have a dbo-owned database where I created an "Editor" role. I assigned this role to a new user I created. I then changed the privileges on one feature class to allow any user in the Editor role to select, insert, update, and delete.
I then run my python script using a connection file derived from the new user's credentials. In the script, I attempt to add a field to the feature class mentioned above. I received an error message saying I have insufficient permissions, but I am unsure why. I have a hunch it is because this user is not the owner of the data, but if it has editing permissions I figured it would be able to add a field despite not being the owner. I am able to edit successfully with this user, but I cannot add fields.
There are no locks on the database. The database is not versioned. I am working in 10.5.
Solved! Go to Solution.
Yes, you can only make schema changes, when connected as the Data Owner.
There are some tasks-- schema changes, grant privileges, Register as Versioned, etc which only the Data Owner can perform.
Yes, you can only make schema changes, when connected as the Data Owner.
There are some tasks-- schema changes, grant privileges, Register as Versioned, etc which only the Data Owner can perform.
So in theory, I could add the field ahead of time and then just calculate that field in the script with my new user since my user can edit but can't "create"?
Yes, that will work fine. Or use the Dataowner user to add\delete\update fields, as and when needed.