ArcGIS Enterprise SDK
ISchemaLock Interface
ArcGIS Enterprise SDK Developer Help > ArcGIS Enterprise SDK API Reference > ArcGIS Enterprise SDK .NET Namespaces > ESRI.ArcGIS.GeoDatabase > Interfaces > IS > ISchemaLock Interface
ArcGIS Developer Help

ISchemaLock Interface

Provides access to members for accessing schema locking functionality.

When To Use

Use ISchemaLock to establish an exclusive lock on a dataset when changing its schema, or performing other operations that require exclusive access to the data.


Name Description
Method ChangeSchemaLock Changes a schema lock.
Method GetCurrentSchemaLocks The list of current locks.

Classes that implement ISchemaLock

Classes Description
CodedValueDomain Esri Attribute set constraint object.
FeatureClass Esri Feature Class object.
ObjectClass Esri Object Class object.
RangeDomain Esri Range Domain object.
RasterCatalog A collection of raster datasets in a Geodatabase table.
Table Esri Table object.


The ISchemaLock interface can be used to establish a shared lock on data.  When accessing data using the ArcGIS application, shared locks are applied automatically. Exclusive locks are never applied automatically, and when performing an action that requires an exclusive hold on the data, you must apply an exclusive lock.
Examples of operations that should acquire a schema lock include adding a field to a feature class, associating a new class extension with a feature class, or building a geometric network on a set of feature classes.
When obtaining an exclusive schema lock on a personal geodatabase; any open row sets from the specific personal geodatabase will be invalidated; such as a cursor populated through the IFeatureClass.Search method.  For this reason; the exclusive schema lock should be obtained prior to populating a row set; such as cursors.