MDAC 2.5 SDK - OLE DB Programmer's Reference
A
Abort To return the values changed by a transaction to their original state.
Accessor A collection of information that describes how data is stored in the consumer's buffer. The provider uses this information to determine how to transfer data to and from this buffer. See also reference accessor.
Accessor handle A handle that identifies an accessor.
Auto-commit mode A transaction commit mode in which all actions taken in a transaction are committed immediately after they are performed. See also manual-commit mode.
Automation error object An error object that conforms to the standards specified for such objects by Automation. See also OLE DB error object.
Axis dimension In OLE DB for OLAP, a dimension that contains multiple members when used for data retrieval. See also Slicer dimension.
Axis rowset Any type of rowset used as a viewable dimension.
B
Base table A table from which a view is derived. A view can have one or more underlying tables. (A view can have underlying views.) Also called underlying table.
Binder object An OLE DB object that binds resources named by URLs to other OLE DB objects. See also provider binder object and root binder object.
BLOB Acronym for binary large object. Any binary or character data over a certain number of bytes, such as 255. Typically much longer. Such data is generally sent to and retrieved from the data store in parts. Also known as long data.
Binding As a verb, the act of associating a column in a rowset or a parameter in a text command with a consumer variable. As a noun, the association or the DBBINDING structure that describes the association.
Bookmark A value that identifies a row in a rowset. Bookmarks are saved by the consumer and used later in the life of the rowset to retrieve a particular row.
BSTR A pointer to a null-terminated character string in which the string length is stored with the string.
B-tree A tree structure for storing database indexes.
Buffer A piece of memory used to pass information, usually data, between the consumer and provider.
C
Catalog A database object that contains one or more schemas.
Change To update, delete, or insert a row of data.
Class ID A globally unique identifier (GUID) associated with a COM class.
Client/server A database access strategy in which one or more clients access data through a server. The clients generally implement the user interface while the server controls database access.
Column The container for a single item of information in a row. Also known as field.
Column ID A structure used to identify a column, primarily in a command where there are no stable ordinals or column names.
Command An OLE DB object that encapsulates a command.
Command text The text command associated with a command object. Although it is not required to be, this is usually an SQL statement.
Commit To make the changes in a transaction permanent.
COM object An object that conforms to the Component Object Model (COM). A COM object is an instance of a COM class. Clients interact with a COM object only through its interfaces. See also Component Object Model and interface.
Component An object that encapsulates both data and code and provides a well-specified set of publicly available services.
Component Object Model (COM) The object-oriented programming model that defines how objects interact within a single process or between processes. In COM, clients have access to an object through interfaces implemented on the object. See also interface.
Concurrency The ability of more than one transaction to access the same data at the same time.
Consumer Software that calls OLE DB methods and interfaces.
Container A file containing linked or embedded objects.
Convert To change data from one type to another, as from an integer to a string.
Coordinated transaction A transaction composed of multiple, subordinate transactions. All of the subordinate transactions must succeed for the coordinated transaction to succeed. Also known as a distributed transaction.
Cotype A concrete implementation of a group of COM interfaces exposed as an object. Cotypes designate the interfaces as either mandatory or optional. All implementations of a particular cotype must expose the mandatory interfaces of that cotype. In addition, they can expose any optional interfaces, including other COM interfaces.
Cube In OLE DB for OLAP, the metadata object in a multidimensional schema. See also Hypercube and Multicube.
D
Data The data for a parameter in a text command or a column in a row.
Database A discrete collection of data in a DBMS. Also a DBMS.
Database Management System (DBMS) A layer of software between the physical database and the user. The DBMS manages all access to the database. An OLE DB provider can be built directly on top of a DBMS or as a layer between the DBMS and the consumer.
Data Definition Language (DDL) Those text commands that define, as opposed to manipulate, data. For example, the SQL statements CREATE TABLE, CREATE INDEX, GRANT, and REVOKE.
Data Manipulation Language (DML) Those text commands that manipulate, as opposed to define, data. For example, the SQL statements INSERT, UPDATE, DELETE, and SELECT.
Data part Data has three parts: the data value, the length of the data value, and the status of the data value.
Data provider A provider that directly exposes data, as opposed to a service component.
Data source object An OLE DB object that connects to a data store.
Dataset object A COM object used by OLE DB for OLAP that consists of a set of value points, or cells, taken from the data store cube or cubes.
Data store The data the user wants to access, such as the data in a database, file, or array.
Data type The type of a piece of data. See also type indicator.
Deferred column A column for which the data is not instantiated in the rowset until the consumer actually attempts to access that data.
Delayed update mode An update mode in which changes made through IRowsetChange are cached in the rowset and transmitted to the data store only when IRowsetUpdate::Update is called. See also immediate update mode.
Delete To remove an existing row of data from the data store.
Direct binding The process of associating an OLE DB object with a resource named by a URL.
Distributed transaction See coordinated transaction.
Dynamic error An error message that cannot be predicted because it is not provider specific.
Dynamic error ID An identifier that is used by a lookup service and is associated with an error object.
E
Empty string A zero-length string. See also null pointer and NULL value.
Endogenous change A change to data originating from a process other than your own.
Enumerator An OLE DB object that searches for data source objects and other enumerators. See also root enumerator.
Error A condition in which a fatal error occurred. Also used to refer to any error, whether or not it is fatal.
Error code A class of return code, of the type HRESULT, that begins with E_ or DB_E_ and indicates that the method failed completely and was unable to do any useful work.
Error lookup service A method used by a provider to handle and interpret OLE DB error objects.
Error object An object that contains detailed information about an error. See also Automation error object and OLE DB error object.
Event An action taken by a provider, such as changing a column value or deleting a row, of which the provider notifies the consumer.
Execution plan A plan generated by a query engine to execute a command. Equivalent to executable code compiled from a third-generation language such as C.
F
Fetch To retrieve one or more rows from the data store and instantiate them in a rowset.
Field See column.
Fixed-length data type A data type that is always stored in the same number of bytes, such as a two-byte integer. See also variable-length data type.
Foreign key A column or columns in a table that match the primary key in another table.
G
Getting data Transferring data from the provider to the consumer, as in getting column or output parameter data.
Globally Unique Identifier (GUID) A 16-byte value that uniquely identifies something, usually the software that implements one or more COM objects or an interface on one of those objects. Also known as a UUID (Universally Unique Identifier).
H
HRESULT An opaque result handle defined to be zero for a successful return from a function and nonzero if error or status information is returned.
Hypercube In OLE DB for OLAP, a multidimensional data model in which all data from all available dimensions appears logically as a single cube. All parts of the manifold represented by this hypercube have identical dimensionality. See also Cube and Multicube.
I
Immediate update mode An update mode in which changes made through IRowsetChange are immediately transmitted to the data store. See also delayed update mode.
Index rowset A rowset built over an index. Each row in an index rowset contains a bookmark that points to a row in a rowset built over the corresponding table.
Initialize To change the state of an enumerator or data source object so it can be used to access data. For example, initializing a data source object might require the provider to open a data file or connect to a database.
Input/output parameter A parameter in a text command for which the consumer supplies a value to the provider and the provider returns a value to the consumer.
Input parameter A parameter in a text command for which the consumer supplies a value to the provider.
Insert To add a new row of data to the data store.
Instantiate To create an instance of a COM object.
Interface A group of semantically related functions that provide access to a COM object. Each interface defines a contract that allows objects to interact according to the Component Object Model (COM). See also Component Object Model and COM object.
Interface Identifier (IID) A globally unique identifier (GUID) associated with an interface. Some functions take IIDs as parameters to allow the caller to specify which interface pointer should be returned.
IPersist* object A COM object that supports IPersistStream, IPersistStreamInit, or IPersistStorage.
Isolation level See transaction isolation level.
J
Join An operation in a relational database that links the rows in two or more tables by matching values in specified columns.
K
Key A column or columns whose values identify a row. See also foreign key and primary key.
Key value bookmark A bookmark that uses a unique key to identify a row. See also numeric bookmark.
L
Length The length of a data value. See also data part, status, and value.
Listener A consumer that has requested that a provider send it notifications of various events.
Literal set In OLE DB for OLAP, a multidimensional expression that denotes a set that is specified by an enumerated list of tuples.
Long data See BLOB.
M
Manual-commit mode A transaction commit mode in which transactions must be explicitly committed or aborted by calling ITransaction::Commit or ITransaction::Abort.
Maximum precision The maximum number of base-10 digits that can be stored in a particular data type. See also precision.
Metadata Data that describes a parameter in a text command or in a column in a rowset. For example, the data type, length, and updatability of a column.
Method A function in an interface.
Moniker A name for a specific object instance.
Multicube In OLE DB for OLAP, a multidimensional data model in which all data is segmented into a set of smaller cubes, each of which is composed of a subset of the available dimensions. See also Cube and Hypercube.
Multidimensional data provider (MDP) An OLE DB provider that accesses a multidimensional database and returns data in a dataset object that can have more than two dimensions. See also Tabular data provider.
Multiple results object An OLE DB object created by executing a command and through which multiple results (rowsets or row counts) can be retrieved.
N
Name space The programming domain within which an object name must be unique.
Next fetch position The position of the next row that will be fetched by a call to IRowset::GetNextRows.
Notification A call from a provider to a consumer, in which the provider notifies the consumer that a particular event is occurring.
Notification sink An actual object that implements the notification interface.
Null pointer A pointer with a value of zero. It is an error to dereference a null pointer. See also empty string and NULL value.
NULL value Having no explicitly assigned value. In particular, a NULL value is different from a zero or a blank. See also empty string and null pointer.
Numeric bookmark A bookmark that uses a unique number to identify a row. See also key value bookmark.
O
Object In COM, a programming structure encapsulating both data and functionality that are defined and allocated as a single unit and for which the only public access is through the programming structure's interfaces. A COM object must support, at a minimum, the IUnknown interface, which maintains the object's existence while it is being used and provides access to the object's other interfaces. See also Component Object Model and interface.
OLE Microsoft's object-based technology for sharing information and services across process and machine boundaries.
OLE DB A set of interfaces that expose data from a variety of data stores using COM.
OLE DB error object An error object used by OLE DB objects to return an error. OLE DB error objects are an extension of Automation error objects.
OLE DB object A COM object defined by OLE DB. The COM objects defined by OLE DB are enumerators, data source objects, sessions, commands, rowsets, multiple results objects, OLE DB error objects, transaction objects, and transaction options objects.
OLE DB Software Development Kit (SDK) A collection of redistributable software, header files, tools, sample code, and documentation to be used by developers of OLE DB consumers and providers.
Optimistic concurrency A strategy to increase concurrency in which rows are not locked. Instead, before they are updated or deleted, a rowset checks to see whether they have been changed since they were last read. If so, the update or delete fails. See also pessimistic concurrency.
Ordinary bookmark A bookmark whose value is defined by the provider. See also standard bookmark.
Output parameter A parameter in a text command for which the provider returns a value to the consumer.
P
Parallel processing A method of processing that can run only on a computer that contains two or more processors running simultaneously.
Parameter A variable in a text command. A parameter can be an input, input/output, or output parameter.
Pending change A change that has been cached in a rowset and not yet transmitted to the data store. See also delayed update mode and immediate update mode.
Persist To save the current state of a COM object, such as to a file.
Pessimistic concurrency A strategy for implementing serializability in which rows are locked so that other transactions cannot change them. See also optimistic concurrency.
Phase A step in a sequence of notifications caused by a single event. The sequence of notifications is similar to the phases in a two-phase commit protocol.
Precision The number of base 10-digits in a number. See also maximum precision.
Prepare To compile a command. An execution plan is created by preparing a command.
Preserved rowset A rowset in which all previously defined functionality is retained after a commit or abort.
Primary key A column or columns that uniquely identifies a row in a table.
Procedure A group of one or more precompiled commands (usually SQL statements) that are stored as a named object in a database.
Property Attributes of an OLE DB object. For example, the maximum number of rows in a rowset that can be active at one time.
Property group The set of all properties that apply to a particular OLE DB object.
Property set A property is identified by a GUID and an integer (the property ID). A property set is the set of all properties that share the same GUID.
Provider Software that implements OLE DB methods and interfaces.
Provider binder object An OLE DB object that performs direct binding operations on the URL namespace for which it is registered. See also binder object and root binder object.
Q
Query A text command. Sometimes used to mean a text command that creates a rowset.
R
Randomly asynchronously populated A randomly asynchronously populated rowset is an asynchronously populated rowset in which new rows can be inserted randomly within the rowset. See also sequentially asynchronously populated.
Range rowset An OLE DB rowset object in which each row corresponds to a cell in a dataset object and the columns of that row describe the cell. See also Dataset object and Rowset.
Reason The specific event that occurred, such as changing a row value or deleting a row. See also event.
Record See row.
Reference accessor An accessor that enables a consumer to get rowset data directly from the provider's buffer. Support for reference accessors is optional.
Reference counting Keeping a count of each interface pointer held on an object to ensure that the object is not destroyed before all references to it are released. In OLE DB, rows and accessors are also reference counted.
Release To decrease the reference count on a row, accessor, or COM object. When the reference count reaches zero, the provider usually releases the resources used by the row, accessor, or COM object.
Request for Comments (RFC) An official document of the Internet Engineering Task Force (IETF) that specifies the details for protocols included in the TCP/IP family.
Result A row count or rowset created by executing a command. See also multiple results object.
Resynchronize To update the data in a rowset with the data in the data store that is visible to the current transaction according to its isolation level.
Return code The value returned by an OLE DB method.
Root binder object An OLE DB object that oversees the direct binding process. For consumers, the root binder object is the starting point of their interaction with OLE DB 2.5 providers. See also binder object, direct binding, and provider binder object.
Root enumerator An enumerator shipped in the Microsoft® Data Access Components (MDAC) SDK that enumerates the data source objects and enumerators listed in the registry. See also enumerator.
Row A set of related columns that describe a specific entity. Also known as a record.
Row handle A handle used to identify a row.
Row object An OLE DB object that contains a set of columns of data. A row object can represent a row in a rowset, the result of a singleton SQL SELECT statement, or a node in a tree-structured namespace, such as a file in a directory or a message in a mail folder.
Rowset An OLE DB object that contains a set of rows, each of which has columns of data. See also Range rowset.
S
Scale The number of digits in a number that are to the right of the decimal point.
Schema A database object that contains one or more tables, often created by a single user. In OLE DB for OLAP, a set of cubes that can be viewed and manipulated as rowsets.
Schema rowset A predefined rowset that provides information about the structure of a database.
Self bookmark A bookmark, stored in column 0 of a row, that is used to return to that row.
Sequentially asynchronously populated A sequentially asynchronously populated rowset is an asynchronously populated rowset in which new rows are always appended to the end of the rowset. See also randomly asynchronously populated.
Serializability Whether two transactions executing simultaneously produce a result that is the same as the serial (or sequential) execution of those transactions. Serializable transactions are required to maintain database integrity.
Service component A provider that does not directly expose data but instead provides a service, such as query processing. Used in conjunction with data providers.
Session An OLE DB object that serves as the context for a transaction.
Setting data Transferring data from the consumer to the provider, as in setting column or input parameter data.
Slicer dimension In OLE DB for OLAP, a dimension with a single member used for data retrieval. See also Axis dimension.
SQL Structured Query Language. A language used by relational databases to query, update, and manage data. Text commands often use SQL.
Standard bookmark A bookmark whose value is defined by OLE DB. See also ordinary bookmark.
Static error An error (text) that is stored by a specific provider lookup service and most commonly tied to a single data store.
Status The status of a data value. See also data part, length, and value.
Storage interface An interface used to access data in a storage object: ISequentialStream, IStream, IStorage, or ILockBytes.
Storage object A COM object that implements a storage interface. Storage objects are used to access BLOB data stored in a column.
Stream object An OLE DB object that encapsulates the contents of files, e-mail messages, or other stream-based objects.
Success A condition in which no errors occurred.
Success code A class of return code, of the type HRESULT, that begins with S_ or DB_S_ and indicates success of the method.
T
Table A collection of rows in the data store. Types of tables include base tables and views. In the TABLES schema rowset, the table type "TABLE" denotes a base table. See also base table and view.
Tabular data provider (TDP) An OLE DB provider that accesses relational databases and returns only two dimensional data in a rowset object. See also Multidimensional data provider.
Text command A text string, usually an SQL statement, that defines a command.
Transaction An atomic unit of work. The work in a transaction must be completed as a whole; if any part of the transaction fails, the entire transaction fails.
Transaction isolation The act of isolating one transaction from the effects of all other transactions.
Transaction isolation level A measure of how well a transaction is isolated.
Transaction object An OLE DB object used to support transactions.
Transaction options object An OLE DB object used to define various options for a transaction.
Transfer To move data between the consumer's and provider's buffers. The provider, not the consumer, transfers data. See also getting data and setting data.
Transmit To send changes made through IRowsetChange to the data store. See also delayed update mode and immediate update mode.
Transmitted change A change that has been sent to the data store. See also pending change.
Truncate To discard one or more bytes of variable-length data or nonsignificant digits of numeric data. Truncation results in a warning condition when getting data and an error condition when setting data.
Tuple In a multidimensional result set, an ordered collection of members from different dimensions that can be represented as a compound coordinate on a dataset axis.
Type indicator An integer value passed to or returned from an OLE DB method to indicate the data type of a consumer variable, a parameter, or a column.
U
Underlying table A table from which a view is derived. A view can have one or more underlying tables. (A view can have underlying views.) Also called base table.
Uninitialize To change the state of an enumerator or data source object so that it cannot be used to access data. For example, uninitializing a data source object might require the provider to close a data file or disconnect from a database.
Unprepare To discard the current execution plan.
Update To change an existing row of data in the data store. Also, to transmit pending changes to the data store.
V
Value A data value. See also data part, length, and status.
Variable-length data type A data type for which the length of the data can vary, such as a string. See also fixed-length data type.
View An alternative way of looking at data from one or more tables in the database, a view is a "virtual table." A view is usually created as a subset of columns from one or more tables. The tables from which views are derived are called base tables. Although views can be derived from other views, a view differs from a base table in that the view contains no data of its own. The data that appears in the view is actually stored in the base tables.
View object An OLE DB view object is created by applying a view to a rowset.
Visibility Whether data values can be detected by a rowset. Refers both to the visibility of data in a data store and data cached in a rowset.
W
Warning A condition in which a nonfatal error occurred.
Warning code A class of return code, of the type HRESULT, that begins with S_ or DB_S_ and indicates success of the method but with a warning.
Z
Zombie A state in which the only valid consumer action on a COM object is generally to release that object.