Supported OLE DB interfaces

The OLE DB API consists of a set of interfaces. The following table describes the support for each interface in the SQL Anywhere OLE DB driver.

Interface Purpose Limitations
IAccessor Define bindings between client memory and data store values. DBACCESSOR_PASSBYREF not supported. DBACCESSOR_OPTIMIZED not supported.

IAlterIndex

IAlterTable

Alter tables, indexes, and columns. Not supported.
IChapteredRowset A chaptered rowset allows rows of a rowset to be accessed in separate chapters. Not supported. SQL Anywhere does not support chaptered rowsets.
IColumnsInfo Get simple information about the columns in a rowset. Not supported on Windows Mobile.
IColumnsRowset Get information about optional metadata columns in a rowset, and get a rowset of column metadata. Not supported on Windows Mobile.
ICommand Execute SQL statements. Does not support calling. ICommandProperties: GetProperties with DBPROPSET_PROPERTIESINERROR to find properties that could not have been set.
ICommandPersist Persist the state of a command object (but not any active rowsets). These persistent command objects can subsequently be enumerated using the PROCEDURES or VIEWS rowset. Not supported on Windows Mobile.
ICommandPrepare Prepare commands. Not supported on Windows Mobile.
ICommandProperties Set Rowset properties for rowsets created by a command. Most commonly used to specify the interfaces the rowset should support. Supported.
ICommandText Set the SQL statement text for ICommand. Only the DBGUID_DEFAULT SQL dialect is supported.
ICommandWithParameters Set or get parameter information for a command.

No support for parameters stored as vectors of scalar values.

No support for BLOB parameters.

Not on Windows Mobile.

IConvertType

Supported.

Limited on Windows Mobile.

IDBAsynchNotify

IDBAsyncStatus

Asynchronous processing.

Notify client of events in the asynchronous processing of data source initialization, populating rowsets, and so on.

Not supported.
IDBCreateCommand Create commands from a session. Supported.
IDBCreateSession Create a session from a data source object. Supported.
IDBDataSourceAdmin Create/destroy/modify data source objects, which are COM objects used by clients. This interface is not used to manage data stores (databases). Not supported.
IDBInfo

Find information about keywords unique to this provider (that is, to find non-standard SQL keywords).

Also, find information about literals, special characters used in text matching queries, and other literal information.

Not supported on Windows Mobile.
IDBInitialize Initialize data source objects and enumerators. Not supported on Windows Mobile.
IDBProperties Manage properties on a data source object or enumerator. Not supported on Windows Mobile.

IDBSchemaRowset

Get information about system tables, in a standard form (a rowset). Not supported on Windows Mobile.

IErrorInfo

IErrorLookup

IErrorRecords

ActiveX error object support. Not supported on Windows Mobile.
IGetDataSource Returns an interface pointer to the session's data source object. Supported.
IIndexDefinition Create or drop indexes in the data store. Not supported.
IMultipleResults Retrieve multiple results (rowsets or row counts) from a command. Supported.
IOpenRowset Non-SQL way to access a database table by its name.

Supported.

Opening a table by its name is supported, not by a GUID.
IParentRowset Access chaptered/hierarchical rowsets. Not supported.
IRowset Access rowsets. Supported.
IRowsetChange

Allow changes to rowset data, reflected back to the data store.

InsertRow/SetData for BLOBs are not implemented.

Not supported on Windows Mobile.
IRowsetChapterMember Access chaptered/hierarchical rowsets. Not supported.
IRowsetCurrentIndex Dynamically change the index for a rowset. Not supported.
IRowsetFind Find a row within a rowset matching a specified value. Not supported.
IRowsetIdentity Compare row handles. Not supported.
IRowsetIndex Access database indexes. Not supported.
IRowsetInfo Find information about rowset properties or to find the object that created the rowset. Not supported on Windows Mobile.
IRowsetLocate Position on rows of a rowset, using bookmarks. Not supported on Windows Mobile.
IRowsetNotify Provides a COM callback interface for rowset events. Supported.
IRowsetRefresh Get the latest value of data that is visible to a transaction. Not supported.
IRowsetResynch Old OLEDB 1.x interface, superseded by IRowsetRefresh. Not supported.
IRowsetScroll Scroll through rowset to fetch row data. Not supported.
IRowsetUpdate Delay changes to rowset data until Update is called.

Supported.

Not on Windows Mobile.

IRowsetView Use views on an existing rowset. Not supported.
ISequentialStream Retrieve a BLOB column.

Supported for reading only.

No support for SetData with this interface.

Not on Windows Mobile.

ISessionProperties Get session property information. Supported.
ISourcesRowset Get a rowset of data source objects and enumerators. Not supported on Windows Mobile.

ISQLErrorInfo

ISupportErrorInfo

ActiveX error object support. Optional on Windows Mobile.

ITableDefinition

ITableDefinitionWithConstraints

Create, drop, and alter tables, with constraints. Not supported on Windows Mobile.
ITransaction Commit or abort transactions.

Not all the flags are supported.

Not on Windows Mobile.

ITransactionJoin Support distributed transactions.

Not all the flags are supported.

Not on Windows Mobile.

ITransactionLocal

Handle transactions on a session.

Not all the flags are supported.

Not supported on Windows Mobile.
ITransactionOptions Get or set options on a transaction. Not supported on Windows Mobile.
IViewChapter Work with views on an existing rowset, specifically to apply post-processing filters/sorting on rows. Not supported.
IViewFilter Restrict contents of a rowset to rows matching a set of conditions. Not supported.
IViewRowset Restrict contents of a rowset to rows matching a set of conditions, when opening a rowset. Not supported.
IViewSort Apply sort order to a view. Not supported.