ArcObjects Library Reference  (GeoDatabase)    

ISchemaLock Interface

Provides access to members for accessing schema locking functionality.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

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.


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

CoClasses that implement ISchemaLock

CoClasses and Classes Description
CadastralFabric (esriGeoDatabaseExtensions) A container for querying information about a cadastral fabric.
CodedValueDomain ESRI Attribute set constraint object.
FeatureClass ESRI Feature Class object.
FeatureDataset ESRI Feature Dataset object.
GeometricNetwork ESRI Geometric Network object.
NetworkDataset A container for querying information about a network dataset.
ObjectClass ESRI Object Class object.
RangeDomain ESRI Range Domain object.
RasterCatalog A collection of raster datasets in a Geodatabase table.
RepresentationClass A Feature Class Representation object.
SchematicDataset (esriSchematic) Schematic Dataset Object.
SchematicDiagram (esriSchematic) Schematic Diagram Object.
SchematicDiagramClass (esriSchematic) Schematic diagram class object.
SchematicElementClass (esriSchematic) Schematic element class object.
SchematicFolder (esriSchematic) Schematic Folder Object.
StreetNetwork A container for describing a street network.
Table ESRI Table object.
Terrain (esriGeoDatabaseExtensions) The ESRI Terrain component.
Topology ESRI Topology object.
UtilityNetwork A container for describing a utility network.


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.

See Also

ISchemaLockInfo Interface | IDataset Interface | IEnumSchemaLockInfo Interface


ISchemaLock Example