MDAC Technical Articles

Mapping ADOX Properties and Methods to OLE DB Interfaces

Catalog

Property OLE DB Interface
ActiveConnection See paper on mapping ADO to OLE DB for information on which interfaces ADO uses to create a connection.
Groups None
Tables None
Users None
Views None
Method OLE DB Interface
Create IDBProperties::GetProperties

IDBDataSourceAdmin::CreateDataSource

GetObjectOwner IObjectAccessControl::GetObjectOwner
SetObjectOwner IObjectAccessControl::SetObjectOwner
Groups Collection OLE DB Interface
Append ITrusteeAdmin::CreateTrustee
Delete ITrusteeAdmin::DeleteTrustee
Item None
Users Collection OLE DB Interface
Append ITrusteeAdmin::CreateTrustee
Delete ITrusteeAdmin::DeleteTrustee
Item None

Table

Property OLE DB Interface
Columns None
DateCreated IDBSchemaRowset::GetRowset

TABLES, DATE_CREATED

DateModified IDBSchemaRowset::GetRowset

TABLES, DATE_MODIFIED

Indexes None
Keys None
Name IDBSchemaRowset::GetRowset

TABLES, TABLE_NAME

ParentCatalog None
Properties IDBProperties::GetProperties

DBPROPSET_TABLEALL

Type IDBSchemaRowset::GetRowset

TABLES, TABLE_TYPE

The interfaces listed above are used to retrieve values for existing tables. When creating new tables, ITableDefinition::CreateTable is used to set the property values. For modifying properties of existing tables IAtlerTable::AlterTable is used.

Tables Collection OLE DB Interface
Append ITableDefinition::CreateTable
Delete ITableDefinition::DropTable
Item None
Refresh ADOConnection::OpenSchema(DBSCHEMA_TABLES)
Columns Collection OLE DB Interface
Append ITableDefinition::CreateTable or ITableDefinition::AddColumn
Delete ITableDefinition::DropColumn
Item None
Refresh ADOConnection::OpenSchema(DBSCHEMA_COLUMNS)

Column (of a Table)

Property OLE DB Interface
Attributes IDBSchemaRowset::GetRowset

COLUMNS, COLUMN_FLAGS

DefinedSize IDBSchemaRowset::GetRowset

COLUMNS, COLUMN_FLAGS

Name IDBSchemaRowset::GetRowset

COLUMNS, COLUMN_NAME

NumericScale IDBSchemaRowset::GetRowset

COLUMNS, NUMERIC_SCALE

ParentCatalog None
Precision IDBSchemaRowset::GetRowset

COLUMNS, NUMERIC_PRECISION

Properties IDBProperties::GetProperties

DBPROPSET_COLUMNALL

RelatedColumn N/A
SortOrder N/A
Type IDBSchemaRowset::GetRowset

COLUMNS, DATA_TYPE

The interfaces listed above are used to retrieve values for existing tables. When creating columns on new tables, ITableDefinition::CreateTable is used to set the property values. For adding columns on existing tables, ITableDefinition::AddColumn is used. For modifying properties of existing columns IAtlerTable::AlterColumn is used.

Index

Property OLE DB Interface
Clustered IDBSchemaRowset::GetRowset

INDEXES, CLUSTERED

Columns None (refers to columns collections)
IndexNulls IDBSchemaRowset::GetRowset

INDEXES, NULLS

Name IDBSchemaRowset::GetRowset

INDEXES, INDEX_NAME

PrimaryKey IDBSchemaRowset::GetRowset

INDEXES, PRIMARY_KEY

Properties IDBProperties::GetProperties

DBPROPSET_INDEXALL

Unique IDBSchemaRowset::GetRowset

INDEXES, UNIQUE

The interfaces listed above are used to retrieve values for existing tables. When creating new indexes, IIndexDefinition::CreateIndex is used to set the property values. For modifying properties of existing indexes IAtlerIndex::AlterIndex is used.

Indexes Collection OLE DB Interface
Append IIndexDefinition::CreteIndex
Delete IIndexDefinition::DropIndex
Item None
Refresh ADOConnection::OpenSchema(DBSCHEMA_INDEXES)

Column (of an Index)

Property OLE DB Interface
Attributes N/A
DefinedSize N/A
Name IDBSchemaRowset::GetRowset

INDEXES, COLUMN_NAME

NumericScale N/A
ParentCatalog None
Precision N/A
Properties N/A
RelatedColumn N/A
SortOrder IDBSchemaRowset::GetRowset

INDEXES, COLLATION

Type N/A

The interfaces listed above are used to retrieve values for existing tables. When creating columns on new tables, IIndexDefinition::CreateIndex is used to set the property values.

Key

Property OLE DB Interface
Columns None
DeleteRule IDBSchemaRowset::GetRowset

FOREIGN_KEYS, DELETE_RULE

Name IDBSchemaRowset::GetRowset

TABLE_CONSTRAINTS, CONSTRAINT_NAME

RelatedTable IDBSchemaRowset::GetRowset

FOREIGN_KEYS, PK_TABLE_NAME

Type IDBSchemaRowset::GetRowset

TABLE_CONSTRAINTS, CONSTRAINT_TYPE

UpdateRule IDBSchemaRowset::GetRowset

FOREIGN_KEYS, UPDATE_RULE

The interfaces listed above are used to retrieve values for existing keys. When creating new keys, ITableDefinitionWithConstraints::AddConstraint is used to set the property values.

Keys Collection OLE DB Interface
Append ITableDefinitionWithConstraints::AddConstraint
Delete ITableDefinitionWithConstraints::DropConstraint
Item None
Refresh ADOConnection::DBSCEMA_TABLE_CONSTRAINTS

Column (of a Key)

Property OLE DB Interface
Attributes N/A
DefinedSize N/A
Name (of Foreign Key) IDBSchemaRowset::GetRowset

FOREIGN_KEYS, PK_COLUMN_NAME

Name (of Primary Key) IDBSchemaRowset::GetRowset

CONSTRAINT_COLUMN_USAGE, COLUMN_NAME

Name (of Unique Key) IDBSchemaRowset::GetRowset

CONSTRAINT_COLUMN_USAGE, COLUMN_NAME

NumericScale N/A
ParentCatalog None
Precision N/A
Properties N/A
RelatedColumn IDBSchemaRowset::GetRowset

FOREIGN_KEYS, FK_COLUMN_NAME

SortOrder N/A
Type N/A

The interfaces listed above are used to retrieve values for existing tables. When creating columns on new key, ITableDefinitionWithCosntratints::AddConstraint is used to set the property values.

Group

Users Collection OLE DB Interface
Append ITrusteeGroupAdmin::AddMember
Delete ItrusteeGroupAdmin::DeleteMember
Item ITrusteeGroupAdmin::GetMembers
Refresh ADOConnection::OpenSchema(DBSCHEMA_DBSCHEMA_TRUSTEE)

View

Property OLE DB Interface
Command ICommandPersist::LoadCommand and

ICommandPersist::SaveCommand

DateCreated IDBSchemaRowset::GetRowset

VIEWS, DATE_CREATED

DateModified IDBSchemaRowset::GetRowset

VIEWS, DATE_MODIFIED

Name IDBSchemaRowset::GetRowset

VIEWS, TABLE_NAME

Views Collection OLE DB Interface
Append ICommandPersist::SaveCommand
Delete ICommandPersist::DeleteCommand
Item None
Refresh ADOConnection::OpenSchema(DBSCHEMA_VIEWS)

Procedures

Property OLE DB Interface
Command ICommandPersist::LoadCommand and

ICommandPersist::SaveCommand

DateCreated IDBSchemaRowset::GetRowset

PROCEDURES, DATE_CREATED

DateModified IDBSchemaRowset::GetRowset

PROCEDURES, DATE_MODIFIED

Name IDBSchemaRowset::GetRowset

PROCEDURES, PROCEDURE_NAME

Procedures Collection OLE DB Interface
Append ICommandPersist::SaveCommand
Delete ICommandPersist::DeleteCommand
Item None
Refresh ADOConnection::OpenSchema(DBSCHEMA_PROCEDURES)

Users

Property OLE DB Interface
Groups None
Name IDBSchemaRowset::GetRowset

TRUSTEES, TRUSTEE_NAME

The interfaces listed above are used to retrieve values for existing users. When creating new users, ITrusteeAdmin::CreateTrustee is used to set the property values.

Method OLE DB Interface
ChangePassword ITrusteeAdmin::SetTrusteeProperties
GetPermissions IObjectAccessControl::GetObjectAccessRights
SetPermissions IObjectAccessControl::SetObjectAccessRights
Groups Collection OLE DB Interface
Append ITrusteeGroupAdmin::AddMember
Delete ItrusteeGroupAdmin::DeleteMember
Item ITrusteeGroupAdmin::GetMemberships
Refresh ITrusteeGroupAdmin::GetMembers

Groups

Property OLE DB Interface
Users None
Name IDBSchemaRowset::GetRowset

TRUSTEES, TRUSTEE_NAME

The interfaces listed above are used to retrieve values for existing users. When creating new groups, ITrusteeAdmin::CreateTrustee is used to set the property values.

Method OLE DB Interface
GetPermissions IObjectAccessControl::GetObjectAccessRights
SetPermissions IObjectAccessControl::SetObjectAccessRights