com.esri.arcgis.geodatabase
Interface ISQLPrivilege

All Superinterfaces:
Serializable
All Known Implementing Classes:
ESRIFDOAddressLocator, ESRIGen2AddressLocator, FeatureClassName, FeatureDatasetName, GPToolboxName, ISQLPrivilegeProxy, LocatorName, ObjectClassName, RelationshipClassName, SchematicDatasetName, SdeRasterTableName, TableName

public interface ISQLPrivilege
extends Serializable

Provides access to members for granting and revoking privileges to database users.

Remarks

The ISQLPrivilege optional interface provides information about the permissions you have on a database object and also the ability to change the permissions for other users. It only applies to those datasets that are stored within an ArcSDE geodatabase. It applies to feature datasets, feature classes, tables, relationship classes, raster datasets, and raster catalogs. ISQLPrivilege cannot be used on datasets contained within a feature dataset, as permissions are managed at the feature dataset level.

The esriSQLPrivilege enumeration defines values that can be used with ISQLPrivilege:

Enumeration esriSQLPrivilege SQL Privileges

1 - esriSelectPrivilege

Select

2 - esriUpdatePrivilege

Update

4 - esriInsertPrivilege

Insert

8 - esriDeletePrivilege

Delete

The values may be bitwise OR'd together if more than one privilege applies (note that this is equal to summing the integer values). For example, if the SQLPrivileges property returns a value of 9, this would mean that you have select and delete permission on the dataset, but not insert or update. A value of 15 indicates full privileges.

The last parameter on Grant is for specifying whether or not the user will have the ability to grant privileges to other users.

Address locators only support esriSelectPrivilege.

Product Availability

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

See Also:
IGPDataType.getFullName()

Method Summary
 int getSQLPrivileges()
          The database privileges.
 void grant(String userName, int privileges, boolean withGrant)
          Grants privileges for the database user.
 void revoke(String userName, int privileges)
          Revokes privileges for the database user.
 

Method Detail

getSQLPrivileges

int getSQLPrivileges()
                     throws IOException,
                            AutomationException
The database privileges.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
The privileges
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

grant

void grant(String userName,
           int privileges,
           boolean withGrant)
           throws IOException,
                  AutomationException
Grants privileges for the database user.

Description

The esriSQLPrivilege enumeration defines privieges that that can be granted with ISQLPrivilege:

Enumeration esriSQLPrivilege SQL Privileges

1 - esriSelectPrivilege

Select

2 - esriUpdatePrivilege

Update

4 - esriInsertPrivilege

Insert

8 - esriDeletePrivilege

Delete

The values may be bitwise OR'd together if more than one privilege applies (note that this is equal to summing the integer values). The dataset name could be a feature dataset, in which case the user would receive privileges on all the contents of the feature dataset.

If TRUE, the withGrant parameter denotes that the user may grant access privileges to other users.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
userName - The userName (in)
privileges - The privileges (in)
withGrant - The withGrant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

revoke

void revoke(String userName,
            int privileges)
            throws IOException,
                   AutomationException
Revokes privileges for the database user.

Remarks

The esriSQLPrivilege enumeration defines privieges that that can be revoked with ISQLPrivilege:

Enumeration esriSQLPrivilege SQL Privileges

1 - esriSelectPrivilege

Select

2 - esriUpdatePrivilege

Update

4 - esriInsertPrivilege

Insert

8 - esriDeletePrivilege

Delete

The values may be bitwise OR'd together if more than one priviege applies (note that this is equal to summing the integer values). The dataset name could be a feature dataset, in which case the user would no longer have privileges on the contents of the feature dataset.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
userName - The userName (in)
privileges - The privileges (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.