A plan generated by the database engine to execute an SQL statement. Equivalent to executable code compiled from a third-generation language such as C.
A function that generates a single value from a group of values, often used with GROUP BY and HAVING clauses. Aggregate functions include AVG, COUNT, MAX, MIN, and SUM. Also known as set functions. See also scalar function.
American National Standards Institute. The ODBC API is based on the ANSI Call-Level Interface.
See application parameter descriptor (APD).
Application Programming Interface. A set of routines that an application uses to request and carry out lower-level services. The ODBC API is composed of the ODBC functions.
An executable program that calls functions in the ODBC API.
application parameter descriptor (APD)
A descriptor that describes the dynamic parameters used in an SQL statement before any conversion specified by the application.
application row descriptor (ARD)
A descriptor that represents the column metadata and data in the application's buffers, describing a row of data following any data conversion specified by the application.
See application row descriptor (ARD).
A transaction commit mode in which transactions are committed immediately after they are executed.
A change in certain functionality from ODBC 3.x behavior to ODBC 2.x behavior, or vice versa. Caused by changing the SQL_ATTR_ODBC_VERSION environment attribute.
Binary large object (BLOB)
Any binary data over a certain number of bytes, such as 255. Typically much longer. Such data is generally sent to and retrieved from the data source in parts. Also known as long data.
As a verb, the act of associating a column in a result set or a parameter in an SQL statement with an application variable. As a noun, the association.
A value added to the data buffer addresses and length/indicator buffer addresses for all bound column or parameter data, producing new addresses.
A cursor capable of fetching more than one row of data at a time.
A piece of application memory used to pass data between the application and driver. Buffers often come in pairs: a data buffer and a data length buffer.
Eight bits or one octet. See also octet.
C data type
The data type of a variable in a C program, in this case the application.
The set of system tables in a database that describe the shape of the database. Also known as a schema or data dictionary.
An ODBC function used to retrieve information from the database's catalog.
A database access strategy in which one or more clients access data through a server. The clients usually implement the user interface while the server controls database access.
The container for a single item of information in a row. Also known as field.
To make the changes in a transaction permanent.
The ability of more than one transaction to access the same data at the same time.
A discrete set of functionality supported by a driver or data source. ODBC defines API conformance levels and SQL conformance levels.
A particular instance of a driver and data source.
Searching the network for data sources to connect to. Connection browsing might involve several steps. For example, the user might first browse the network for servers and then browse a particular server for a database.
A handle to a data structure that contains information about a connection.
The row currently pointed to by the cursor. Positioned operations act on the current row.
A piece of software that returns rows of data to the application. Probably named after the blinking cursor on a computer terminal; just as that cursor indicates the current position on the screen, a cursor on a result set indicates the current position in the result set.
A buffer used to pass data. Often associated with a data buffer is a data length buffer.
data length buffer
A buffer used to pass the length of the value in a corresponding data buffer. The data length buffer is also used to store indicators, such as whether the data value is null-terminated.
The data that the user wants to access and its associated operating system, DBMS, and network platform (if any).
The type of a piece of data. ODBC defines C and SQL data types. See also type indicator.
A column for which data is sent after SQLSetPos is called. So named because the data is sent at execution time rather than being placed in a rowset buffer. Long data is generally sent in parts at execution time.
A parameter for which data is sent after SQLExecute or SQLExecDirect is called. So named because the data is sent when the SQL statement is executed rather than being placed in a parameter buffer. Long data is generally sent in parts at execution time.
A discrete collection of data in a DBMS. Also a DBMS.
The software in a DBMS that parses and executes SQL statements and accesses the physical data.
Database Management System. A layer of software between the physical database and the user. The DBMS manages all access to the database.
A driver that accesses physical data through a stand-alone database engine.
Data Definition Language. Those statements in SQL that define, as opposed to manipulate, data. For example, CREATE TABLE, CREATE INDEX, GRANT, and REVOKE.
An identifier that is enclosed in identifier quote characters so that it can contain special characters or match keywords (also known as a quoted identifier).
A data structure that holds information about either column data or dynamic parameters. The physical representation of the descriptor is not defined; applications gain direct access to a descriptor only by manipulating its fields by calling ODBC functions with the descriptor handle.
A DBMS designed to run on a personal computer. Generally, these DBMSs do not provide a stand-alone database engine and must be accessed through a file-based driver. The engines in these drivers generally have reduced support for SQL and transactions. For example, dBASE, Paradox, Btrieve, or Microsoft® FoxPro®.
A record containing diagnostic information about the last function called that used a particular handle. Diagnostic records are associated with environment, connection, statement, and descriptor handles.
Data Manipulation Language. Those statements in SQL that manipulate, as opposed to define, data. For example, INSERT, UPDATE, DELETE, and SELECT.
A routine library that exposes the functions in the ODBC API. Drivers are specific to a single DBMS.
A routine library that manages access to drivers for the application. The Driver Manager loads and unloads (or connects to and disconnects from) drivers and passes calls to ODBC functions to the correct driver.
driver setup DLL
A DLL that contains driver-specific installation and configuration functions.
A scrollable cursor capable of detecting rows updated, deleted, or inserted in the result set.
A type of embedded SQL in which SQL statements are created and compiled at run time. See also static SQL.
SQL statements that are included directly in a program written in another language, such as COBOL or C. ODBC does not use embedded SQL. See also static SQL and dynamic SQL.
A global context in which to access data; associated with the environment is any information that is global in nature, such as a list of all connections in that environment.
A handle to a data structure that contains information about the environment.
A clause in an SQL statement.
To run an SQL statement.
See block cursor.
To retrieve one or more rows from a result set.
A driver that accesses physical data directly. In this case, the driver contains a database engine and acts as both driver and data source.
file data source
A data source for which connection information is stored in a .dsn file.
A column or columns in a table that match the primary key in another table.
A cursor that can only move forward through the result set and generally fetches only one row at a time. Most relational databases support only forward-only cursors.
A value that uniquely identifies something such as a file or data structure. Handles are meaningful only to the software that creates and uses them but are passed by other software to identify things. ODBC defines handles for environments, connections, statements, and descriptors.
implementation parameter descriptor (IPD)
A descriptor that describes the dynamic parameters used in an SQL statement after any conversion specified by the application.
implementation row descriptor (IRD)
A descriptor that describes a row of data before any conversion specified by the application.
A DLL that installs ODBC components and configures data sources.
Integrity Enhancement Facility
A subset of SQL designed to maintain the integrity of a database.
interface conformance level
The level of the ODBC 3.7 interface supported by a driver; can be Core, Level 1, or Level 2.
The ability of one application to use the same code when accessing data in different DBMSs.
See Implementation Parameter Descriptor (IPD).
See Implementation Row Descriptor (IRD).
International Standards Organization/International Electrotechnical Commission. The ODBC API is based on the ISO/IEC Call-Level Interface.
An operation in a relational database that links the rows in two or more tables by matching values in specified columns.
A column or columns whose values identify a row. See also foreign key and primary key.
A set of keys used by a mixed or keyset-driven cursor to refetch rows.
A scrollable cursor that detects updated and deleted rows by using a keyset.
A character representation of an actual data value in an SQL statement.
The process by which a DBMS restricts access to a row in a multiuser environment. The DBMS usually sets a bit on a row or the physical page containing a row that indicates the row or page is locked.
Any binary or character data over a certain length, such as 255 bytes or characters. Typically much longer. Such data is generally sent to and retrieved from the data source in parts. Also known as BLOBs or CLOBs.
machine data source
A data source for which connection information is stored on the system (for example, the registry).
A transaction commit mode in which transactions must be explicitly committed by calling SQLTransact.
Data that describes a parameter in an SQL statement or a column in a result set. For example, the data type, byte length, and precision of a parameter.
See DBMS-based driver.
Having no explicitly assigned value. In particular, a NULL value is different from a zero or a blank.
Eight bits or one byte. See also byte.
The length in octets of a buffer or the data it contains.
Open Database Connectivity. A specification for an API that defines a standard set of routines with which an application can access data in a data source.
An executable program that calls the installer DLL to configure data sources.
A company that publishes standards. In particular, it publishes SQL Access Group (SAG) standards.
A strategy to increase concurrency in which rows are not locked. Instead, before they are updated or deleted, a cursor checks to see if they have been changed since they were last read. If so, the update or delete fails. See also pessimistic concurrency.
A join in which both matching and nonmatching rows are returned. The values of all columns from the unmatched table in nonmatching rows are set to NULL.
The owner of a table.
A variable in an SQL statement, marked with a parameter marker or question mark (?). Parameters are bound to application variables and their values retrieved when the statement is executed.
A descriptor that describes the run-time parameters used in an SQL statement, either before any conversion specified by the application (an application parameter descriptor, or APD) or after any conversion specified by the application (an implementation parameter descriptor, or IPD).
parameter operation array
An array containing values that an application can set to indicate that the corresponding parameter should be ignored in an SQLExecDirect or SQLExecute operation.
parameter status array
An array containing the status of a parameter after a call to SQLExecDirect or SQLExecute.
A strategy for implementing serializability, in which rows are locked so that other transactions cannot change them. See also optimistic concurrency and serializability.
Any operation that acts on the current row. For example, positioned update and delete statements, SQLGetData, and SQLSetPos.
positioned update statement
An SQL statement used to update the values in the current row.
positioned delete statement
An SQL statement used to delete the current row.
To compile an SQL statement. An access plan is created by preparing an SQL statement.
A column or columns that uniquely identifies a row in a table.
A group of one or more precompiled SQL statements that are stored as a named object in a database.
An argument in a procedure call, the value returned by a procedure, or a column in a result set created by a procedure.
A database that contains one or more tables.
An SQL statement. Sometimes used to mean a SELECT statement.
An identifier that is enclosed in identifier quote characters so that it can contain special characters or match keywords (also known in SQL-92 as a delimited identifier).
The base of a number system. Usually 2 or 10.
The set of rows created by executing a SELECT statement.
The value returned by an ODBC function.
To return the values changed by a transaction to their original state.
A set of related columns that describe a specific entity. Also known as a record.
A descriptor that describes the columns of a result set, either before any conversion specified by the application (an implementation row descriptor, or IRD) or after any conversion specified by the application (an application row descriptor, or ARD).
row operation array
An array containing values that an application can set to indicate that the corresponding row should be ignored in a SQLSetPos operation.
row status array
An array containing the status of a row after a call to SQLFetch, SQLFetchScroll, or SQLSetPos.
The set of rows returned in a single fetch by a block cursor.
The buffers bound to the columns of a result set and in which the data for an entire rowset is returned.
See SQL Access Group (SAG).
A function that generates a single value from a single value. For example, a function that changes the case of character data.
A cursor that can move forward or backward through the result set.
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.
A DBMS designed to be run in a client/server environment. These DBMSs provide a stand-alone database engine that provides rich support for SQL and transactions. They are accessed through DBMS-based drivers. For example, Oracle, Informix, DB/2, or Microsoft® SQL Server.
See aggregate function.
See driver setup DLL and translator setup DLL.
See file-based driver.
Structured Query Language. A language used by relational databases to query, update, and manage data.
SQL Access Group (SAG)
An industry consortium of companies concerned with SQL DBMSs. The Open Group's Call-Level Interface is based on work originally done by the SQL Access Group.
SQL conformance level
The level of SQL-92 grammar supported by a driver; can be Entry, FIPS Transitional, Intermediate, or Full.
SQL data type
The data type of a column or parameter as it is stored in the data source.
A five-character value that indicates a particular error.
A complete phrase in SQL that begins with a keyword and completely describes an action to be taken. For example, SELECT * FROM Orders. SQL statements should not be confused with statements.
A well-defined condition of an item. For example, a connection has seven states, including unallocated, allocated, connected, and needing data. Certain operations can be done only when an item is in a particular state. For example, a connection can be freed only when it is in an allocated state and not, for example, when it is in a connected state.
The movement of an item from one state to another. ODBC defines rigorous state transitions for environments, connections, and statements.
A container for all the information related to an SQL statement. Statements should not be confused with SQL statements.
A handle to a data structure that contains information about a statement.
A scrollable cursor that cannot detect updates, deletes, or inserts in the result set. Usually implemented by making a copy of the result set.
A type of embedded SQL in which SQL statements are hard-coded and compiled when the rest of the program is compiled. See also dynamic SQL.
A collection of rows.
The conversion of 16-bit addresses to 32-bit addresses, or vice versa, when 16-bit applications are used with 32-bit ODBC drivers.
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.
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. There are five transaction isolation levels: Read Uncommitted, Read Committed, Repeatable Read, Serializable, and Versioning.
A DLL used to translate data from one character set to another.
translator setup DLL
A DLL that contains translator-specific installation and configuration functions.
The process of committing a distributed transaction in two phases. In the first phase, the transaction processor checks that all parts of the transaction can be committed. In the second phase, all parts of the transaction are committed. If any part of the transaction indicates in the first phase that it cannot be committed, the second phase does not occur. ODBC does not support two-phase commits.
An integer value passed to or returned from an ODBC function to indicate the data type of an application variable, a parameter, or a column. ODBC defines type indicators for both C and SQL data types.
An alternative way of looking at the data in one or more tables. A view is usually created as a subset of the columns from one or more tables. In ODBC, views are generally equivalent to tables.