ASA Programming Guide
The OLE DB and ADO Programming Interfaces
The OLE DB API consists of a set of interfaces. The following table describes the support for each interface in the Adaptive Server 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. Adaptive Server Anywhere does not support chaptered rowsets. |
IColumnsInfo | Get simple information about the columns of a rowset. | Not on CE. |
IColumnsRowset | Get information about optional metadata columns in a rowset, and get a rowset of column metadata. | Not on CE. |
ICommand | Execute SQL commands. | 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 on CE. |
ICommandPrepare | Prepare commands. | Not on CE. |
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 command 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 CE. |
IConvertType |
Supported.
Limited on CE. |
|
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 on CE. |
IDBInitialize | Initialize data source objects and enumerators. | Not on CE. |
IDBProperties | Manage properties on a data source object or enumerator. | Not on CE. |
IDBSchemaRowset | Get information about system tables, in a standard form (a rowset). | Not on CE. |
IErrorInfo
IErrorLookup IErrorRecords |
ActiveX error object support. | Not on CE. |
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 not yet implemented. |
Not on CE. |
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 a rowset properties or to find the object that created the rowset. | Not on CE. |
IRowsetLocate | Position on rows of a rowset, using bookmarks. | Not on CE. |
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 CE. |
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 CE. |
ISessionProperties | Get session property information. | Supported. |
ISourcesRowset | Get a rowset of data source objects and enumerators. | Not on CE. |
ISQLErrorInfo
ISupportErrorInfo |
ActiveX error object support. | Optional on CE. |
ITableDefinition
ITableDefinitionWithConstraints |
Create, drop, and alter tables, with constraints. | Not on CE. |
ITransaction | Commit or abort transactions. |
Not all the flags are supported.
Not on CE. |
ITransactionJoin | Support distributed transactions. |
Not all the flags are supported.
Not on CE. |
ITransactionLocal |
Handle transactions on a session.
Not all the flags are supported. |
Not on CE. |
ITransactionOptions | Get or set options on a transaction. | Not on CE. |
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. |