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. Supported.
IColumnsRowset Get information about optional metadata columns in a rowset, and get a rowset of column metadata. Supported.
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. Supported.
ICommandPrepare Prepare commands. Supported.
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.

IConvertType

Supported.

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.

Supported.
IDBInitialize Initialize data source objects and enumerators. Supported.
IDBProperties Manage properties on a data source object or enumerator. Supported.

IDBSchemaRowset

Get information about system tables, in a standard form (a rowset). Supported.

IErrorInfo

IErrorLookup

IErrorRecords

ActiveX error object support. Supported.
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.

Supported.
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. Supported.
IRowsetLocate Position on rows of a rowset, using bookmarks. Supported.
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.
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.

ISessionProperties Get session property information. Supported.
ISourcesRowset Get a rowset of data source objects and enumerators. Supported.

ISQLErrorInfo

ISupportErrorInfo

ActiveX error object support. Supported.

ITableDefinition

ITableDefinitionWithConstraints

Create, drop, and alter tables, with constraints. Supported.
ITransaction Commit or abort transactions.

Not all the flags are supported.

ITransactionJoin Support distributed transactions.

Not all the flags are supported.

ITransactionLocal

Handle transactions on a session.

Not all the flags are supported.

Supported.
ITransactionOptions Get or set options on a transaction. Supported.
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.