OLE DB Glossary

A

accessor A data structure or group of structures created by the consumer that describes how row or parameter data from the data store is to be laid out in the consumer's data buffer, enabling providers to optimize access. An accessor is a collection of bindings. See also bindings, parameter accessor*,* reference accessor*, and* row accessor.

accessor handle A pointer that identifies an accessor.

actions rowset In OLE DB for OLAP, a type of schema rowset containing descriptive and content information that allows the client application to perform a procedure.

aggregated dataset In OLE DB for OLAP, a dataset containing data derived from a mathematical operation, such as a summation.

aggregation In COM, the ability of an object to present one or more of another object's interfaces as its own.

asynchronously populated rowset When a consumer requests immediate retrieval of rows from a data store, returns with as many of the requested rows as are available at the moment. If fewer than the requested number of rows are available at the time of the call, the row-returning method returns DB_S_ENDOFROWSET, even though additional rows may appear later. See also lazily populated rowset*,* randomly asynchronously populated rowset*, and* sequentially asynchronously populated rowset.

atomic operation An operation considered or guaranteed to be indivisible. Either the operation is uninterruptible or, if it is aborted, a mechanism is provided that ensures the return of the system to its state prior to initiation of the operation.

auto-commit mode The mode in which all work that is visible to the data store, and that is done within the scope of a session that is outside of a transaction, is immediately committed on each method call automatically (or without further intervention). Also called implicit mode. See also commit and manual-commit mode.

Automation A COM-based technology that enables dynamic binding to COM objects at run time. See also COM.

Automation error object An error object that that is exposed to applications or programming tools through Automation interfaces. See also OLE DB error object.

axis dimension In OLE DB for OLAP, a cube dimension for which data is retrieved for multiple members ? for example, for a grouping of selected products. See also slicer dimension.

axis rowset In OLE DB for OLAP, a rowset that provides detailed information about the structure of each tuple on a dataset axis. See also dataset and tuple.

B

balanced hierarchy A hierarchy in which the parent of each member comes from the level immediately above the member. See also network hierarchy*,* ragged hierarchy*,* and unbalanced hierarchy.

base table A table that exists as a file on disk and from which a view, or virtual table, is derived. Also called underlying table. See also view.

binder object AnOLE DB object that binds resources named by URLs to other OLE DB objects. See also provider binder object and root binder object.

binding An accessor element that an OLE DB provider uses to determine where and how to return or retrieve data in the consumer's buffer. Each binding associates, or binds, a single column or parameter to the consumer's buffer. A binding contains information including the ordinal of the column or parameter to which the binding applies, what is bound (the data value, its length, and its status), the offsets in the buffer to each of these parts, and the length and type of the data value as it exists in the consumer's buffer.See also accessor.

BLOB Acronym for binary large object.Any binary or character data that, in OLE DB, is treated by the OLE DB provider as a sequence of uninterpreted bytes. Such data is generally sent to and retrieved from the data store in parts. Also known as long data.

bookmark A saved placeholder value that identifies a row in a rowset and can later be used by the consumer to retrieve that particular row.

buffer A region of memory used to pass information, usually data, between two locations ? for example, in OLE DB, between the consumer and provider.

Browse See Read Uncommitted.

C

cardinal number A number that indicates how many items there are in a set.

catalog An OLE DB object that contains one or more schemas.

chapter A valueused to specify a group of related rows within a rowset.

chapter handle A reference to a chapter.

class ID A globally unique identifier (GUID) associated with a COM class.

clustered index An index where all the searchable columns are adjacent ? applies to indexes that contain searchable columns about (and a reference enabling quick access to) a corresponding row in a rowset.

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.

COM Acronym for Component Object Model. Microsoft's 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.

command object An OLE DB object that encapsulates a provider-specific text command.

command state One of four possible conditions applying to the status of a command object: Initial ? indicating that no command text is set; Prepared ? indicating that the command text is set and the command is prepared; Unprepared ? indicating that the command text is set but the command is not prepared; Executed ? indicating that the command text is executed.

command text The text command (usually an SQL statement) associated with a command object.

commit To make the changes in a transaction permanent. See also auto-commit mode and manual-commit mode.

COM object An object that conforms to Microsoft's 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 COM and interface.

Component Object Model See COM*.*

concurrency The ability of more than one transaction or process to access the same data at the same time.

consumer In OLE DB, any piece of system or application code that consumes an OLE DB interface. See also provider.

coordinated transaction See distributed transaction.

cotype A concrete implementation of a group of COM objects, such as rowset objects or command objects. All COM objects that belong to a particular cotype must expose the mandatory interfaces in that cotype. In addition, they can expose any optional interfaces, including other COM interfaces.

cube In OLE DB for OLAP, the conceptual representation of multidimensional data The cube ? or more appropriately, the hypercube ? is also the central metadata object recognized by OLE DB for OLAP. See also hypercube and multicube.

Cursor Stability See Read Committed.

D

database A discrete collection of data in a DBMS (database management system). Can also refer to a specific DBMS. See also DBMS.

database management system See DBMS.

data definition language (DDL) A language that defines all attributes and properties of a database, especially record layouts, field definitions, key fields, file locations, and storage strategy.

data manipulation language (DML) A language that is used to insert data in, update, and query a database. Data manipulation languages are often capable of performing mathematical and statistical calculations that facilitate report generation.

data part A reference to one of the following data characteristics: the data value, the length of the data value, or the status of the data value.

data provider An OLE DB provider that directly exposes data from a data store. See also service provider.

dataset In OLE DB for OLAP, a grouping of data along a set of axes. The dataset encapsulates a multidimensional result set and is created by the execution of an MDX statement. See also MDX.

dataset object An OLE DB for OLAP object that expresses the dataset cube (a hypercube) and that consists of a set of value points, or cells, taken from the multidimensional data store cube (or cubes) and built into the dataset cube. See also cube and hypercube.

data source object In OLE DB, a COM object through which a consumer connects to a provider's underlying data store.

data store The data the user wants to access, such as the data in a database, file, or array.

data type A definition of a set of data that specifies the possible range of values of the set, the operations that can be performed on the values, and the way in which the values are stored in memory. See also type indicator.

data type conversion The changing of data from one type to another, as from an integer to a string.

DBMS Abbreviation for database management system.A layer of software between the physical database and the user. The DBMS manages all access to the database.

deferred column A rowset column for which the provider is not required to retrieve data from the data store until the consumer calls IRowset::GetData for that column. If the column contains a COM object, the provider need not retrieve data until a method used to access that object is called.

deferred update mode The update mode, automatically invoked for rowset objects that expose IRowsetUpdate, in which changes made through IRowsetChange are cached in the rowset and transmitted to the data store only when IRowsetUpdate::Update is called. Also called delayed update mode. See also immediate update mode.

delayed update mode See deferred update mode.

direct binding The process of associating an OLE DB object with a resource named by a URL.

dirty read Occurs when a transaction reads data that has not yet been committed. See also nonrepeatable read and phantom.

distributed transaction A transaction that updates data on two or more networked computer systems. Also known as a coordinated transaction.

document source provider A type of provider that manages access to folders and documents in a data store.

dynamic error An error message that is created in a run-time environment and cannot be predicted because the error lookup service is not database-specific.

dynamic error ID The identifier used by an error lookup service to identify a dynamic error, which is usually associated with a single error object.

E

enumerator object An OLE DB object that searches for and lists available data source objects and other enumerator objects. See also root enumerator object.

error code A return code that begins with E_ or DB_E_ and indicates that the method failed completely and was unable to do any useful work. Usually indicates a programming error.

error lookup service A provider-specific service thatcontains error messages and help file information.

error object An object that contains detailed information about an error. See also Automation error object and OLE DB error object.

event An action or occurrence, often generated by the user, to which a program might respond.

F

fact table A table used in OLE DB for OLAP that contains atomic values and rules as well as the aggregated values of related data.

field See column.

fixed-length data type A data type that is always stored in the same number of bytes, such as a 2-byte integer. See also variable-length data type.

flattened view In OLE DB for OLAP, a tabular view of the dataset from one or more cubes.

foreign key A column or columns in a table that match the primary key in another table within the same data store.

G

getting data In OLE DB, transferring data from the provider to the consumer, as in getting column or output parameter data.

GUID (globally unique identifier) In COM, a 16-byte value that uniquely identifies an interface to an object across all computers and networks. Also known as UUID (universally unique identifier).

H

hierarchical rowset A collection of rowsets that are relationally linked together by using chapters.

HRESULT A type of return code, returned by an OLE DB method, that indicates the overall success or failure of that method. Can be of either of two classes: success and warning codes; or error codes.

hypercube In OLE DB for OLAP, a multidimensional data model in which all data appears logically as a single cube. All parts of the manifold represented by a hypercube have identical dimensionality. See also cube and multicube.

I

immediate update mode The update mode, applying to rowsets that do not expose IRowsetUpdate, in which changes made through IRowsetChange are immediately transmitted to the data store. See also deferred update mode.

index rowset A rowset built over an index in a data store and generally used in conjunction with a rowset built over a base table in the same data store. Each row in an index rowset contains a bookmark that points to a row in the rowset built over the corresponding table.

initialize To change the state of an enumerator or data source object so that 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.

integrated index An index that is part of the rowset it references.

interface In COM-based technologies, a collection of related public functions that provide access to a COM object. The set of interfaces on a COM object composes a contract that specifies how programs and other objects can interact with the COM object. See also COM and COM object.

IID Abbreviation forinterface identifier. 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 allows control of how an object's state is saved.

isolation level See transaction isolation level.

Isolated See Serializable.

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 In database management, an identifier for a record or group of records in a data store. See also foreign key and primary key.

key value bookmark A bookmark that uses some combination of columns (not necessarily the primary keys of the base tables) that form a unique key for each row in an ordered rowset. See also numeric bookmark.

L

lazily populated rowset May return a rowset prior to completely populating the rows, but row-returning methods wait, if necessary, until they can return all of the requested rows. See also asynchronously populated rowset*,* randomly asynchronously populated rowset*, and* sequentially asynchronously populated rowset.

listener A consumer, usually of a rowset object that is being shared by more than one consumer, that requires notification of any updates to that rowset by any consumer having access to the rowset.

literal set In OLE DB for OLAP, a multidimensional expression denoting a set that is specified by an enumerated list of tuples. See also tuple.

long data See BLOB.

M

manual-commit mode The mode in whichall work that is visible to the data store, and that is done within the scope of a session that has entered a transaction, is part of that transaction and is committed or aborted as a single unit. See also auto-commit and commit.

MDX Abbreviation for multidimensional expressions. In OLE DB for OLAP, MDX provides a syntax for specifying a dataset and can be viewed as a set of macros mapped to the underlying SQL language.

metadata Data about data. For example, the data type, length, and updatability of a column in a rowset.

member In OLE DB for OLAP, a data element tied to a specific dimension on a cube.

moniker A very general abstraction of file name and file path. Monikers are more precise than file names because they can identify an object within a document. Monikers can be combined into composite monikers in the same way a directory is added to the file name to get the complete path.

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.

multidimensional data store A data store in which the data is stored in inherently multidimensional structures. See also relational data store.

multidimensional expressions See MDX.

multiple results object An OLE DB object, through which multiple results (row counts, rowset objects, or row objects) can be retrieved, that contains command text comprising multiple, separate text commands ? such as a batch of SQL statements ? or that contains a text command having more than one set of parameters.

N

namespace The programming domain within which an object name must be unique.

nested transaction Occurs when a transaction (an atomic unit of work) is begun within the scope of another transaction.

network hierarchy A hierarchy in which nodes can contain more than one parent, such as a family tree. See also balanced hierarchy*,* ragged hierarchy*,* and unbalanced hierarchy.

next fetch position The position of the next row that will be fetched by a call to IRowset::GetNextRows.

nonrepeatable read Occurs when a transaction reads the same row twice but gets different data each time. See also dirty read and phantom.

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 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 null value.

null value Having no explicitly assigned value. In particular, a null value is different from a zero or a blank. See also null pointer.

numeric bookmark Based on a position or index into the rows selected for a rowset, a bookmark value 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, which 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 COM and interface.

OLE DB A specialized set of COM interfaces that expose data from a variety of data stores, both relational and nonrelational.

OLE DB error object An error object used by OLE DB objects to return an error. OLE DB error objects are extensions of Automation error objects.

OLE DB object A COM object defined in OLE DB. The COM objects defined in OLE DB are enumerators, data source objects, sessions, commands, rowsets, multiple results objects, transaction objects, and transaction options objects.

OLE DB provider Any software component that exposes an OLE DB interface.

optimistic concurrency A strategy to increase the simultaneous modifications of data, in which rows of data are not locked. The term derives its name from the optimistic assumption that collisions between transactions will rarely occur. See also pessimistic concurrency.

ordinal number A number whose form indicates position in an ordered sequence of items, such as first, third, or twentieth.

output parameter A parameter in a text command for which the provider returns a value to the consumer.

P

parameter accessor Specialized accessor created and used only on command objects to access parameter data that describes bindings to parameters in the command text. See also accessor*,* reference accessor*,* and row accessor.

pending change A change, such as an insert, update, or delete, that has been cached in a rowset and not yet transmitted to the data store. Also refers to a row state in which a change is pending. See also deferred update mode*,* immediate update mode*, and* row state.

pessimistic concurrency A strategy for implementing serializability, in which rows of data are locked so that other transactions cannot change them. Also called locking. See also optimistic concurrency.

phantom A row that matches the search criteria of a previous transaction but is not initially seen until that transaction is reexecuted. See also dirty read and nonrepeatable read.

phase A step in a sequence of notifications caused by a single event.

phased event A notification method that is called multiple times, each time with a different phase in the sequence.

precision The degree of detail expressed by a number, determined by how many base 10-digits are used to indicate the number's value.

preserved rowset A rowset in which all previously defined functionality is retained after a transaction ends.

primary key A column or columns that uniquely identifies a row in a table.

property Attributes of an object ? for example, the maximum number of rows in a rowset that can be active at one time.

property group A set of logically related properties that could apply to an OLE DB object such as a rowset or a data source object.

property set A set of all OLE DB properties that share the same GUID.

provider See OLE DB provider.

provider binder object An OLE DB object thatperforms direct binding operations on the URL namespace for which it is registered. See also binder object and root binder object.

Q

query The process of extracting data from a database and presenting it for use.

R

ragged hierarchy A hierarchy in which the parent of a member can come from any level above the level of the member, not just from the level immediately above. Also called ragged-balanced hierarchy. See also balanced hierarchy*,* network hierarchy*,* and unbalanced hierarchy.

randomly asynchronously populated rowset An asynchronously populated rowset in which newly retrieved rows can be inserted randomly within the rowset. See also asynchronously populated rowset*,* lazily populated rowset*,* and sequentially asynchronously populated rowset.

range rowset object An OLE DB rowset object in which each row corresponds to a cell in a dataset object and in which each selected cell property appears as a column in the rowset. See also dataset object and rowset object.

Read Committed A transaction isolation level at which a specific transaction cannot see changes made by other transactions until those transactions are committed. At this level of isolation, dirty reads are not possible but nonrepeatable reads and phantoms are possible. Also called Cursor Stability. See also dirty read*,* nonrepeatable read*,* phantom*,* Read Uncommitted*,* Repeatable Read*,* Serializable, and transaction isolation level.

Read Uncommitted A transaction isolation level at which a specific transaction can see uncommitted changes made by other transactions. At this level of isolation, dirty reads, nonrepeatable reads, and phantoms are all possible. Also called Browse. See also dirty read*,* nonrepeatable read*,* phantom*,* Read Committed*,* Repeatable Read*,* Serializable, and transaction isolation level.

reason Detailed information that is provided about an event and that is made available to the consumer.

record See row.

reference accessor An accessor that enables a consumer to get rowset data directly from the provider's buffer and enables providers to get input parameter data directly from the consumer's buffer. See also accessor.

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.

relational data store A data store in which relational data is stored as a set of tables, each table having at least one column that ties the data in that table to another table or other tables. See also multidimensional data store.

Repeatable Read A transaction isolation level at which a specific transaction is guaranteed not to see any changes made by other transactions in values it has already read. At this level of isolation, dirty reads and nonrepeatable reads are not possible but phantoms are possible. See also dirty read*,* nonrepeatable read*,* phantom*,* Read Committed*,* Read Uncommitted*,* Serializable, and transaction isolation level.

resource pooling In OLE DB, a management technique where a collection of previously used resources (that is, a resource pool), such as connections to a data source, are typically stored and reused by an application as they are needed. When the resource is no longer needed, it is not destroyed but returned to the resource pool instead.

resource rowset A rowset supported by a special class of provider, called a document source provider, that manages folders and documents. The resource rowset contains columns that describe characteristics of the document instead of the actual document itself.

restrictions In OLE DB, a set of parameter values that limit the number and values of the columns in a schema rowset. Also called restriction columns.

return code The value returned by an OLE DB method.

root binder object An OLE DB object that oversees the direct binding process and manages the mapping of URL namespaces to OLE DB providers. See also binder object*,* direct binding*,* and provider binder object.

root enumerator object An OLE DB object that identifies the data source objects and enumerators listed in the registry. See also enumerator object.

row A set of related columns that describe a specific entity in a data store. Also known as a record.

row accessor Can be created on command and rowset objects but can be used only on rowset objects. Row accessors describe the bindings to columns in the rowset and, if created on a command object, are inherited by any rowsets created by that command object. See also accessor*,* parameter accessor*,* and reference accessor.

row handle An identifier in the rowset, of data type HROW, used to access a specific data row in the consumer's buffer.

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 object An OLE DB object that contains a rowset (a set of rows), which is composed of columns of data.

row state Can be either a nonpending change state (Unchanged or Invalid) or a pending change state (Pending Insert, Pending Update, or Pending Delete). See also pending change.

S

schema An object or collection of database objects that contain structural information, or metadata, about a database.

schema rowset object A predefined rowset object that provides metadata information about the structure of a database or of a table in the database.

scoped operation A function performed on a row or stream element that is limited to that element and a predetermined number of subordinate elements.

self bookmark A bookmark in a rowset, stored in column 0 of a row, that is used to return to that row.

sequentially asynchronously populated rowset An asynchronously populated rowset in which newly retrieved rows are always appended to the end of the rowset. See also asynchronously populated rowset*,* lazily populated rowset*,* and randomly asynchronously populated rowset.

Serializable A transaction isolation level at which a specific transaction guarantees that all concurrent transactions interact only in ways that produce the same effect as if each transaction were entirely executed one after the other. At this isolation level, dirty reads, nonrepeatable reads, and phantoms are not possible. Also called Isolated. See also dirty read*,* nonrepeatable read*,* phantom*,* Read Committed*,* Read Uncommitted*,* Repeatable Read*,* and transaction isolation level.

service provider A provider that does not directly expose data but instead facilitates the manipulation of data, such as query processing. Used in conjunction with data providers.

session object An OLE DB object that provides methods for creating command objects and rowset objects and for creating and modifying tables and indexes. Session objects also define transaction scope and can be used to create transaction objects, which are used to control nested transactions.

setting data In OLE DB, transferring data from the consumer to the provider, as in setting column or input parameter data.

slicer dimension In OLE DB for OLAP, a cube dimension for which data is retrieved for a single member ? for example, data pertaining to a single geographical location. See also axis dimension.

SQL Structured Query Language. A language used by relational databases to query, update, and manage data. Text commands are often formatted for SQL.

solve order In online analytical processing, the order in which applied formulas are resolved.

star schema In OLE DB for OLAP, a special schema configuration resulting from the combination of a fact table and a set of related dimension tables. See also fact table.

static error A hard-coded error (text) that is stored by a specific provider lookup service and most commonly tied to a single data store.

stream object An OLE DB object that encapsulates the contents of files, e-mail messages, or other stream-based objects.

success code A class of return code, of the type HRESULT, that begins with S_ or DB_S_ and that indicates the success of a method call.

T

table A collection of rows in the data store. Types of tables include base tables and views. 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.

target type The intended or resulting data type after a data conversion in OLE DB.

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 the extent to which changes made outside a transaction are visible to that transaction.

transaction object An OLE DB object used to represent a nested transaction. See also nested transaction.

transaction options object An OLE DB object used to define various options for a transaction.

transmitted change A change that has been sent to the data store. See also pending change.

tree operation An operation that applies to data represented by a tree-shaped namespace, such as a file or e-mail system ? for example, a "delete" operation on a directory in a file system that removes all of its files and subdirectories. See also namespace*,* tree operator*,* and tree-shaped namespace.

tree operator A method that affects data represented as a tree-shaped namespace, such as a file or e-mail system ? for example, a "move" method that destroys a directory and all its subdirectories at one location in a file system and then re-creates them at another location. See also namespace*,* tree operation*,* and tree-shaped namespace.

tree-shaped namespace Information, which when graphed resembles the branches of a tree ? for example, the shape of files and directories in a Microsoft? Windows? File Open dialog box. See also namespace*,* tree operation*,* and tree operator.

tuple In OLE DB for OLAP, 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

unbalanced hierarchy A hierarchy in which the concept of levels does not apply. See also balanced hierarchy*,* network hierarchy*,* and ragged hierarchy.

underlying table See 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.

update To change an existing row of data in the data store. Also, to transmit pending changes to the data store.

UUID (universally unique identifier) See GUID (globally unique identifier).

V

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 A virtual table, usually created as a subset of columns from one or more tables. Views are derived from base tables but can also 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 object that defines a subset of the rows and columns from a rowset. A view object contains no data of its own.

W

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 all functionality of a COM object is lost and for which, usually, the only valid consumer action on that object is to release it.

This topic is a part of: