|
  
Appendix
E . What's New in Version 3.5
E.1
Deprecated functions
E.2
Modified functions
E.3
New functions
E. What's New in Version 3.5
The
Application Program Interface (API) found in DBMaker
3.5 is now ODBC 3.0 compatible. To be ODBC 3.0 compatible,
some new functions have been added, some old functions
have been deprecated, and other functions have been
modified. As a result, some of the existing functions
may behave differently than in previous versions of
DBMaker, while the use of other functions is discouraged.
For a full description of ODBC 3.0 functions and how
to use them, refer to the Microsoft ODBC 3.0 Programmer's
Refernce.
E.1 Deprecated functions
The
following functions or function argument values have
been deprecated in the DBMaker 3.5 API (ODBC 3.0). DBMaker
currently retains these functions for purposes of backward
compatibility, but does not guarantee that they will
appear in future versions.
SQLExtendedFetch - the SQLExtendedFetch
function has been replaced by SQLFetchScroll.
You should use SQLFetchScroll instead of SQLExtendedFetch
for this functionality in the future.
SQLSetPos - the SQL_ADD value of the fOption
argument in the SQLSetPos function has been replaced
by the SQL_ADD value of the Operation value in the SQLBulkOperations
function. You should use SQLBulkOperations instead
of SQLSetPos for this functionality in the future.
E.2 Modified functions
The
following functions have been modified in the DBMaker
3.5 API (ODBC 3.0). The behavior of these functions
will differ somewhat from DBMaker 3.01 and earlier APIs
(ODBC 2.0). However, the behavior of these functions
will remain unchanged if you are using client software
from versions of DBMaker prior to version 3.5.
SQLCancel
The
SQLCancel function is fully supported in the
DBMaker 3.5 API (ODBC 3.0). In previous versions of
DBMaker (ODBC 2.0), when there was no processing being
done on a statement calling the SQLCancel function
had the same effect as calling SQLFreeStmt with
the SQL_CLOSE option. In DBMaker 3.5, when there is
no processing being done on a statement calling the
SQLCancel function has no effect. If you have
a cursor open and want to close it, you should call
SQLCloseCursor instead of SQLCancel.
SQLColumns
The
SQLColumns function is fully supported in the
DBMaker 3.5 API (ODBC 3.0). The SQLColumns function
will now return 18 columns, regardless of whether the
client is using the ODBC2.0 or 3.0 API. The following
table lists the column names returned by this function
for SQLColumns function for both DBMaker 3.5
and for previous versions of DBMaker.
|
DBMaker
3.5 (ODBC 3.0)
|
DBMaker
2.0x, 3.0x (ODBC 2.0)
|
|
TABLE_CAT
|
TABLE_QUALIFIER
|
|
TABLE_SCHEM
|
TABLE_OWNER
|
|
TABLE_NAME
|
TABLE_NAME
|
|
COLUMN_NAME
|
COLUMN_NAME
|
|
DATA_TYPE
|
DATA_TYPE
|
|
TYPE_NAME
|
TYPE_NAME
|
|
COLUMN_SIZE
|
PRECISION
|
|
BUFFER_LENGTH
|
LENGTH
|
|
DECIMAL_DIGITS
|
SCALE
|
|
NUM_PREC_RADIX
|
RADIX
|
|
NULLABLE
|
NULLABLE
|
|
REMARKS
|
-
|
|
COLUMN_DEF
|
-
|
|
SQL_DATA_TYPE
|
-
|
|
SQL_DATETIME_SUB
|
-
|
|
CHAR_OCTET_LENGTH
|
-
|
|
ORDINAL_POSITION
|
-
|
|
IS_NULLABLE
|
-
|
SQLFetch
The
SQLFetch function is fully supported in the DBMaker
3.5 API (ODBC 3.0). In DBMaker 3.5, the SQLFetch
function can now supports rowsets with multiple rows
(earlier versions of DBMaker only supported single-row
operations with the SQLFetch function).
SQLGetData
The
SQLGetData function is fully supported in the
DBMaker 3.5 API (ODBC 3.0). In DBMaker 3.5, the SQLGetData
function can now support rowsets with multiple rows
(earlier versions of DBMaker only supported single-row
operations with the SQLGetData function).
SQLGetFunctions
The
SQLGetFunctions function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). In DBMaker 3.5, you
can call the SQLGetFunctions function with a
value of SQL_API_ODBC3_ALL_FUNCTIONS or SQL_API_ALL_FUNCTIONS
for the FunctionId parameter. SQL_API_ODBC3_ALL_FUNCTIONS
is used by ODBC 3.0 applications to determine support
of ODBC 3.0 or earlier functions, while SQL_API_ALL_FUNCTIONS
is used by ODBC 2.0 applications to determine support
of ODBC 2.0 or earlier functions.
If
the value of FunctionId is SQL_API_ODBC3_ALL_FUNCTIONS,
SupportedPtr points to a 4000-bit bitmap that
can be used to determine whether an ODBC 3.0 or earlier
function is supported. You can use SQL_API_ODBC3_ALL_FUNCTIONS
against either an ODBC 3.0 or 2.0 driver. If the value
of FunctionID is SQL_API_ALL_FUNCTIONS, then
SupportedPtr returns an array of 100 elements
that you can use to determine whether an ODBC 2.0 function
is supported.
SQLGetInfo
The
SQLGetInfo function is now fully supported in
the DBMaker 3.5 API (ODBC 3.0).
E.3 New functions
The
following functions are new in the DBMaker 3.5 API (ODBC3.0).
This section lists all new functions in DBMaker 3.5,
the supported options of each function, and whether
the function is fully or partially supports the ODBC
3.0 standard.
SQLAllocHandle
The
SQLAllocHandle function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLAllocHandle
function is a generic function for allocating environment,
connection, statement, or descriptor handles, and replaces
the ODBC 2.0 functions SQLAllocConnect, SQLAllocEnv,
and SQLAllocStmt. The function prototype for
SQLAllocHandle is:
RETCODE SQLAllocHandle(
SQLSMALLINT HandleType,
SQLHANDLE InputHandle,
SQLHANDLE *OutputHandlePtr
);
|
SQLBulkOperations
The
SQLBulkOperations function is fully supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLBulkOperations
function performs bulk insertions and bookmark operations,
including update, delete, and fetch by bookmark operations.
DBMaker 3.5 does not support the bookmark operations
of SQLBulkOperations at this time. The function
prototype for SQLBulkOperations is:
RETCODE SQLBulkOperations(
SQLHSTMT StatementHandle,
SQLUSMALLINT Operation
);
|
The
following table shows a list of options for the SQLBulkOperations
function, and whether they are supported.
|
Operation
|
Supported?
|
|
SQL_ADD
|
Y
|
|
SQL_UPDATE_BY_BOOKMARK
|
N
|
|
SQL_DELETE_BY_BOOKMARK
|
N
|
|
SQL_FETCH_BY_BOOKMARK
|
N
|
SQLCloseCursor
The
SQLCloseCursor function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLCloseCursor
function closes a cursor that is open on a statement,
and discards and pending results. The function prototype
for SQLCloseCursor is:
RETCODE SQLCloseCursor(SQLHSTMT StatementHandle);
|
SQLColAttribute
The
SQLColAttribute function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLColAttribute
function returns information about a column in a result
set, either as a character string, a 32-bit value, or
an integer value. The function prototype for SQLColAttribute
is:
RETCODE SQLColAttribute(
SQLHSTMT StatementHandle,
SQLUSMALLINT ColumnNumber,
SQLUSMALLINT FieldIdentifier,
SQLPOINTER CharacterAttributePtr,
SQLSMALLINT BufferLength,
SQLSMALLINT *StringLengthPtr,
SQLPOINTER NumericAttributePtr
);
|
The
following table lists the descriptor types returned
by this function.
|
FieldIdentifier
|
Purpose
|
|
SQL_DESC_AUTO_UNIQUE_VALUE
|
Determines
whether a column is a SERIAL column (SQL_TRUE)
or not (SQL_FALSE).
|
|
SQL_DESC_BASE_COLUMN_NAME
|
The
base column name.
|
|
SQL_DESC_BASE_TABLE_NAME
|
The
base table name.
|
|
SQL_DESC_CASE_SENSITIVE
|
Determines
whether collations and comparisons on a column
are case-sensitive (SQL_TRUE) or not (SQL_FALSE).
|
|
SQL_DESC_CATALOG_NAME
|
The
catalog of the table that contains the column.
|
|
SQL_DESC_CONCISE_TYPE
|
The
concise data type for datetime and interval data
types.
|
|
SQL_DESC_COUNT
|
The
number of columns available in the result set.
|
|
SQL_DESC_DISPLAY_SIZE
|
The
maximum number of characters required to display
data from the column.
|
|
SQL_DESC_FIXED_PREC_SCALE
|
Determines
whether the column has a fixed precision and non-zero
scale (SQL_TRUE) or not (SQL_FALSE).
|
|
SQL_DESC_LABEL
|
The
column label or title. If the column does not
have a label, the column name is returned.
|
|
SQL_DESC_LENGTH
|
The
maximum or actual character length of a character
string or binary data type.
|
|
SQL_DESC_LITERAL_PREFIX
|
The
characters that DBMaker recognizes as a prefix
for a literal of the data type the column contains.
|
|
SQL_DESC_LITERAL_SUFFIX
|
The
characters that DBMaker recognizes as a suffix
for a literal of the data type the column contains.
|
|
SQL_DESC_LOCAL_TYPE_NAME
|
The
localized (native language) name for the data
type that may be different than the regular name.
|
|
SQL_DESC_NAME
|
The
column alias. If the column does not have an alias,
the column name is returned.
|
|
SQL_DESC_NULLABLE
|
Determines
whether the column can contain NULL values (SQL_NULLABLE)
or not (SQL_NO_NULLS). If it is not known whether
the column can contain NULL values, the value
SQL_NULLABLE_UNKNOWN is returned.
|
|
SQL_DESC_NUM_PREX_RADIX
|
Contains
2 if SQL_DESC_TYPE is an approximate numeric data
type and SQL_DESC_PRECISION contains the number
of bits, 10 if SQL_DESC_TYPE is an exact numeric
data type and SQL_DESC_PRECISION contains the
number of decimal digits, and 0 if SQL_DESC_TYPE
contains a non-numeric data type.
|
|
SQL_DESC_OCTET_LENGTH
|
The
length in bytes of a character string or binary
data type.
|
|
SQL_DESC_PRECISION
|
The
precision of a numeric data type.
|
|
SQL_DESC_SCALE
|
The
scale of a numeric data type.
|
|
SQL_DESC_SCHEMA_NAME
|
The
schema of the table that contains the column.
|
|
SQL_DESC_SEARCHABLE
|
Determines
whether the column can be used with any comparison
operator in a WHERE clause (SQL_PRED_SEARCHABLE),
with all comparison operators except LIKE (SQL_PRED_BASIC),
only with the LIKE predicate (SQL_PRED_CHAR),
or if it cannot be used in a WHERE clause at all
(SQL_PRED_NONE).
|
|
SQL_DESC_TABLE_NAME
|
The
name of the table that contains the column.
|
|
SQL_DESC_TYPE
|
A
numeric value that specifies the data type of
the column.
|
|
SQL_DESC_TYPE_NAME
|
A
string that specifies the name of the data type
(data-source dependent).
|
|
SQL_DESC_UNNAMED
|
Determines
whether the value in SQL_DESC_NAME is a column
name/alias (SQL_DESC_NAMED) or not (SQL_DESC_UNNAMED).
|
|
SQL_DESC_UNSIGNED
|
Determines
whether the column is unsigned (SQL_TRUE) or not
(SQL_FALSE).
|
|
SQL_DESC_UPDATABLE
|
Describes
the updatability of the column in the result set(not
the column in the base table).
|
SQLCopyDesc
The
SQLCopyDesc function is fully supported in the
DBMaker 3.5 API (ODBC 3.0). The SQLCopyDesc function
copies descriptor information from one descriptor handle
to another. The function prototype for SQLCopyDesc
is:
RETCODE SQLCopyDesc(
SQLHDESC SourceDescHandle,
SQLHDESC TargetDescHandle
);
|
SQLEndTran
The
SQLEndTran function is fully supported in the
DBMaker 3.5 API (ODBC 3.0). The SQLEndTran requests
the DBMaker server perform a commit or rollback for
all active operations on all statements associated with
a connection, or for all connections associated with
an environment. DBMaker supports the following values
for the CompletionType argument: SQL_COMMIT and
SQL_ROLLBACK. The function prototype for SQLEndTran
is:
RETCODE SQLEndTran(
SQLSMALLINT HandleType,
SQLHANDLE Handle,
SQLSMALLINT CompletionType
);
|
SQLFetchScroll
The
SQLFetchScroll function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLFetchScroll
function fetches a rowset of data (at a relative or
absolute position, or by a bookmark) from the result
set and returns all bound columns. DBMaker supports
the following values for the FetchOrientation
argument: SQL_FETCH_NEXT, SQL_FETCH_PRIOR, SQL_FETCH_FIRST,
SQL_FETCH_LAST, SQL_FETCH_ABSOLUTE, and SQL_FETCH_RELATIVE.
The function prototype for SQLFetchScroll is:
RETCODE SQLFetchScroll(
SQLHSTMT StatementHandle,
SQLSMALLINT Handle,
SQLINTEGER FetchOffset
);
|
SQLForeignKeys
The
SQLForeignKeys function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLForeignKeys
function returns a list of foreign keys in the specified
table, or a list of foreign keys in other tables that
reference the primary key in the specified table. The
function prototype for SQLForeignKeys is:
RETCODE SQLForeignKeys(
SQLHSTMT StatementHandle,
SQLCHAR *PKCatalogName,
SQLSMALLINT NameLength1,
SQLCHAR *PKSchemaName,
SQLSMALLINT NameLength2,
SQLCHAR *PKTableName,
SQLSMALLINT NameLength3,
SQLCHAR *FKCatalogName,
SQLSMALLINT NameLength4,
SQLCHAR *FKSchemaName,
SQLSMALLINT NameLength5,
SQLCHAR *FKTableName,
SQLSMALLINT NameLength6
);
|
SQLFreeHandle
The
SQLFreeHandle function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLFreeHandle
function frees resources associated with an environment,
connection, statement, or descriptor handle that was
previously allocated using the SQLAllocHandle
function. The function prototype for SQLFreeHandle
is:
RETCODE SQLFreeHandle(
SQLSMALLINT HandleType,
SQLHANDLE Handle
);
|
SQLGetConnectAttr
The
SQLGetConnectAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLSetConnectAttr
function gets attributes for a database connection.
This function replaces the SQLGetConnectOption
function in ODBC 2.0. The function prototype for SQLGetConnectAttr
is:
RETCODE SQLGetConnectAttr(
SQLHDBC ConnectionHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER *StringLengthPtr
);
|
The
following table lists the attributes that can be retrieved
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_AUTOCOMMIT
|
Y
|
|
SQL_ATTR_LOGIN_TIMEOUT
|
Y
|
|
SQL_ATTR_TXN_ISOLATION
|
Y
|
|
SQL_ATTR_AUTO_IPD
|
Y
|
|
SQL_ATTR_ACCESS_MODE
|
Y
|
|
SQL_ATTR_CURRENT_CATALOG
|
Y
|
|
SQL_ATTR_ASYNC_ENABLE
|
Y
|
|
SQL_ATTR_CONNECTION_TIMEOUT
|
Y
|
|
SQL_ATTR_MAX_ROWS
|
Y
|
|
SQL_ATTR_METADATA_ID
|
Y
|
|
SQL_ATTR_QUERY_TIMEOUT
|
Y
|
SQLGetDescField
The
SQLGetD escField function is fully supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDescField
function gets the value of a single field of a descriptor
record. The function prototype for SQLGetDescField
is:
RETCODE SQLGetDescField(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLSMALLINT FieldIdentifier,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER *StringLengthPtr
);
|
The
following table lists the descriptor fields that can
be retrieved using this function in DBMaker 3.5. In
the table, the G represents Get, S represents Set, and
I represents Invalid.
|
FieldIdentifier
|
ARD
|
APD
|
IRD
|
IPD
|
|
SQL_DESC_ALLOC_TYPE
|
G
|
G
|
G
|
G
|
|
SQL_DESC_ARRAY_SIZE
|
G/S
|
G/S
(1)
|
I
|
I
|
|
SQL_DESC_ARRAY_STATUS_PTR
|
G/S
|
G/S
|
G/S
|
G/S
|
|
SQL_DESC_BIND_OFFSET_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_BIND_TYPE
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_COUNT
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_ROW_PROCESSED_PTR
|
I
|
I
|
G/S
|
G/S
|
|
SQL_DESC_AUTO_UNIQUE_VALUE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_BASE_COLUMN_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_BASE_TABLE_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CASE_SENSITIVE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CATALOG_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CONCISE_TYPE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DATA_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_DATETIME_INTERVAL_
CODE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DATETIME_INTERVAL_
PREC
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DISPLAY_SIZE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_FIXED_PREC_SCALE
|
I
|
I
|
G
|
G
|
|
SQL_DESC_INDICATOR_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_LABLE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LENGTH
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_LITERAL_PREFIX
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LITERAL_SU
FFIX
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LOCAL_TYPE_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NULLABLE
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NUM_PREC_RADIX
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_OCTET_LENGTH
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_OCTET_LENGTH_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_PARAMETER_TYPE
|
I
|
I
|
I
|
G/S
|
|
SQL_DESC_PRECISION
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_SCALE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_SCHEMA_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_SEARCHABLE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_TABLE_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_TYPE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_TYPE_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_UNNAMED
|
I
|
I
|
G
|
I
|
|
SQL_DESC_UNSIGNED
|
I
|
I
|
G
|
G
|
|
SQL_DESC_UPDATABLE
|
I
|
I
|
G
|
I
|
Notes:
1.
Only supports a value of 1.
SQLGetDescRec
The
SQLGetDescRec function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLGetDescRec
function returns the settings or values of multiple
fields of a descriptor record. The function prototype
for SQLGetDescRec is:
RETCODE SQLGetDescRec(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLCHAR *Name,
SQLSMALLINT BufferLength,
SQLSMALLINT *StringLengthPtr,
SQLSMALLINT *TypePtr,
SQLSMALLINT *SubTypePtr,
SQLINTEGER *LengthPtr,
SQLSMALLINT *PrecisionPtr,
SQLSMALLINT *ScalePtr,
SQLSMALLINT *NullablePtr
);
|
SQLGetDiagField
The
SQLGetDiagField function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLGetDiagField
function returns the current value of a field from a
record in a specified handle's diagnostic data structure.
The field contains error, warning and status information.
The function prototype for SQLGetDiagField is:
RETCODE SQLGetDiagField(
SQLSMALLINT HandleType,
SQLHANDLE Handle,
SQLSMALLINT RecNumber,
SQLSMALLINT DiagIdentifier,
SQLPOINTER DiagInfoPtr,
SQLSMALLINT BufferLength,
SQLSMALLINT *StringLengthPtr
);
|
The
following table shows the identifier of the field required
from the diagnostic data structure, and whether it is
supported in DBMaker 3.5.
|
DiagIdentifier
|
Supported?
|
|
SQL_DIAG_CURSOR_ROW_COUNT
|
N
|
|
SQL_DIAG_DYNAMIC_FUNCTION
|
N
|
|
SQL_DIAG_DYNAMIC_FUNCTION_CODE
|
N
|
|
SQL_DIAG_NUMBER
|
Y
|
|
SQL_DIAG_RETURNCODE
|
Y
|
|
SQL_DIAG_ROW_COUNT
|
Y
|
|
SQL_DIAG_CLASS_ORIGIN
|
Y
|
|
SQL_DIAG_CONNECTION_NAME
|
Y
|
|
SQL_DIAG_MESSAGE_TEXT
|
Y
|
|
SQL_DIAG_SERVER_NAME
|
Y
|
|
SQL_DIAG_SQLSTATE
|
Y
|
|
SQL_DIAG_SUBCLASS_ORIGIN
|
Y
|
|
SQL_DIAG_COLUMN_NUMBER
|
N
|
|
SQL_DIAG_NATIVE
|
N
|
|
SQL_DIAG_ROW_NUMBER
|
N
|
SQLGetDiagRec
The
SQLGetDiagRec function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLGetDiagRec
function returns the values of several commonly used
fields of a diagnostic record, including SQLSTATE, the
native error code, and the diagnostic message text.
DBMaker supports the following values for the HandleType
argument: SQL_HANDLE_ENV, SQL_HANDLE_DBC, SQL_HANDLE_STMT,
and SQL_HANDLE_DESC. The function prototype for SQLGetDiagRec
is:
RETCODE SQLGetDiagRec(
SQLSMALLINT HandleType,
SQLHANDLE Handle,
SQLSMALLINT RecNumber,
SQLCHAR *Sqlstate,
SQLINTEGER *NativeErrorPtr,
SQLCHAR *MessageText,
SQLSMALLINT BufferLength,
SQLSMALLINT *TextLengthPtr
);
|
SQLGetEnvAttr
The
SQLGetEnvAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLGetEnvAttr
function gets attributes for an environment handle.
The function prototype for SQLGetEnvAttr is:
RETCODE SQLSetEnvAttr(
SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER *StringLengthPtr
);
|
The
following table lists the attributes that can be retrieved
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_ODBC_VERSION
|
Y
|
|
SQL_ATTR_OUTPUT_NTS
|
Y
|
|
SQL_ATTR_CONNECTION_POOLING
|
N
|
|
SQL_ATTR_CP_MATCH
|
N
|
SQLGetStmtAttr
The
SQLGetStmtAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLGetStmtAttr
function sets attributes for a statement. This function
replaces the SQLGetStatementOption function in
ODBC 2.0. The function prototype for SQLGetStmtAttr
is:
RETCODE SQLGetStmtAttr(
SQLHSTMT StatementHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength,
SQLINTEGER *StringLengthPtr
);
|
The
following table lists the attributes that can be retrieved
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_APPPARAM_DESC
|
Y
|
|
SQL_ATTR_APP_ROW_DESC
|
Y
|
|
SQL_ATTR_ASYNC_ENABLE
|
Y
|
|
SQL_ATTR_CONCURRENCY
|
Y
|
|
SQL_ATTR_CURSOR_SCROLLABLE
|
Y
|
|
SQL_ATTR_CURSOR_SENSITIVITY
|
Y
|
|
SQL_ATTR_CURSOR_TYPE
|
Y
|
|
SQL_ATTR_ENABLE_AUTO_IPD
|
Y
|
|
SQL_ATTR_FETCH_BOOKMARK_PTR
|
N
|
|
SQL_ATTR_IMP_PARAM_DESC
|
Y
|
|
SQL_ATTR_IMP_ROW_DESC
|
Y
|
|
SQL_ATTR_KEYSET_SIZE
|
Y
|
|
SQL_ATTR_MAX_LENGTH
|
Y
|
|
SQL_ATTR_MAX_ROWS
|
Y
|
|
SQL_ATTR_METADATA_ID
|
Y
|
|
SQL_ATTR_NOSCAN
|
Y
|
|
SQL_ATTR_PARAM_BIND_OFFSET_PTR
|
Y
|
|
SQL_ATTR_PARAM_BIND_TYPE
|
Y
|
|
SQL_ATTR_PARAM_OPERATION_PTR
|
Y
|
|
SQL_ATTR_PARAM_STATUS_PTR
|
Y
|
|
SQL_ATTR_PARAMS_PROCESSED_PTR
|
Y
|
|
SQL_ATTR_PARAMSET_SIZE
|
Y
|
|
SQL_ATTR_QUERY_TIMEOUT
|
Y
|
|
SQL_ATTR_RETRIEVE_DATA
|
Y
|
|
SQL_ATTR_ROW_ARRAY_SIZE
|
Y
|
|
SQL_ATTR_ROW_BIND_OFFSET_PTR
|
Y
|
|
SQL_ATTR_ROW_BIND_TYPE
|
Y
|
|
SQL_ATTR_ROW_NUMBER
|
N
|
|
SQL_ATTR_ROW_OPERATION_PTR
|
Y
|
|
SQL_ATTR_ROW_STATUS_PTR
|
Y
|
|
SQL_ATTR_ROWS_FETCHED_PTR
|
Y
|
|
SQL_ATTR_SIMULATE_CURSOR
|
Y
|
|
SQL_ATTR_USE_BOOKMARK
|
N
|
SQLPrimaryKeys
The
SQLPrimaryKeys function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLPrimaryKeys
function returns the column names that make up the primary
key of a table as a result set. The function prototype
for SQLPrimaryKeys is:
RETCODE SQLPrimaryKeys(
SQLHSTMT StatementHandle,
SQLCHAR *CatalogName,
SQLSMALLINT NameLength1,
SQLCHAR *SchemaName,
SQLSMALLINT NameLength2,
SQLCHAR *TableName,
SQLSMALLINT NameLength3
);
|
SQLSetConnectAttr
The
SQLSetConnectAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLSetConnectAttr
function sets attributes for a database connection.
This function replaces the SQLSetConnectOption
function in ODBC 2.0. The function prototype for SQLSetConnectAttr
is:
RETCODE SQLSetConnectAttr(
SQLHDBC ConnectionHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength
);
|
The
following table lists the attributes that can be set
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_AUTOCOMMIT
|
Y
|
|
SQL_ATTR_LOGIN_TIMEOUT
|
Y
|
|
SQL_ATTR_TXN_ISOLATION
|
Y
|
|
SQL_ATTR_AUTO_IPD
|
N
|
|
SQL_ATTR_ACCESS_MODE
|
N
|
|
SQL_ATTR_CURRENT_CATALOG
|
N
|
|
SQL_ATTR_ASYNC_ENABLE
|
Y
(See Note 1)
|
|
SQL_ATTR_CONNECTION_TIMEOUT
|
Y
(See Note 2)
|
|
SQL_ATTR_MAX_ROWS
|
Y
(See Note 3)
|
|
SQL_ATTR_METADATA_ID
|
Y
(See Note 4)
|
|
SQL_ATTR_QUERY_TIMEOUT
|
Y
(See Note 2)
|
Notes:
1.
Only supports SQL_ASYNC_ENABLE_OFF.
2.
Only supports a value of 0 (no time-out).
3.
Only supports a value of 0 (all rows).
4.
Only supports SQL_FALSE.
SQLSetDescField
The
SQLSetD escField function is fully supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLSetDescField
function sets the value of a single field of a descriptor
record. The function prototype for SQLSetDescField
is:
RETCODE SQLSetDescField(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLSMALLINT FieldIdentifier,
SQLPOINTER ValuePtr,
SQLINTEGER BufferLength
);
|
The
following table lists the descriptor fields that can
be set using this function in DBMaker 3.5. In the table,
the G represents Get, S represents Set, and I represents
Invalid.
|
FieldIdentifier
|
ARD
|
APD
|
IRD
|
IPD
|
|
SQL_DESC_ALLOC_TYPE
|
G
|
G
|
G
|
G
|
|
SQL_DESC_ARRAY_SIZE
|
G/S
|
G/S
(1)
|
I
|
I
|
|
SQL_DESC_ARRAY_STATUS_PTR
|
G/S
|
G/S
|
G/S
|
G/S
|
|
SQL_DESC_BIND_OFFSET_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_BIND_TYPE
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_COUNT
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_ROW_PROCESSED_PTR
|
I
|
I
|
G/S
|
G/S
|
|
SQL_DESC_AUTO_UNIQUE_VALUE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_BASE_COLUMN_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_BASE_TABLE_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CASE_SENSITIVE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CATALOG_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_CONCISE_TYPE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DATA_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_DATETIME_INTERVAL_
CODE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DATETIME_INTERVAL_
PREC
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_DISPLAY_SIZE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_FIXED_PREC_SCALE
|
I
|
I
|
G
|
G
|
|
SQL_DESC_INDICATOR_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_LABLE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LENGTH
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_LITERAL_PREFIX
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LITERAL_SU
FFIX
|
I
|
I
|
G
|
I
|
|
SQL_DESC_LOCAL_TYPE_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NULLABLE
|
I
|
I
|
G
|
G
|
|
SQL_DESC_NUM_PREC_RADIX
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_OCTET_LENGTH
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_OCTET_LENGTH_PTR
|
G/S
|
G/S
|
I
|
I
|
|
SQL_DESC_PARAMETER_TYPE
|
I
|
I
|
I
|
G/S
|
|
SQL_DESC_PRECISION
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_SCALE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_SCHEMA_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_SEARCHABLE
|
I
|
I
|
G
|
I
|
|
SQL_DESC_TABLE_NAME
|
I
|
I
|
G
|
I
|
|
SQL_DESC_TYPE
|
G/S
|
G/S
|
G
|
G/S
|
|
SQL_DESC_TYPE_NAME
|
I
|
I
|
G
|
G
|
|
SQL_DESC_UNNAMED
|
I
|
I
|
G
|
I
|
|
SQL_DESC_UNSIGNED
|
I
|
I
|
G
|
G
|
|
SQL_DESC_UPDATABLE
|
I
|
I
|
G
|
I
|
Notes:
1.
Only supports a value of 1.
SQLSetDescRec
The
SQLSetDescRec function is fully supported in
the DBMaker 3.5 API (ODBC 3.0). The SQLSetDescRec
function sets the value of multiple descriptor fields
that affect the data type and buffer bound to a column
or parameter. The function prototype for SQLSetDescRec
is:
RETCODE SQLSetDescField(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLSMALLINT Type,
SQLSMALLINT SubType,
SQLINTEGER Length,
SQLSMALLINT Precision,
SQLSMALLINT Scale,
SQLPOINTER DataPtr,
SQLINTEGER *StringLengthPtr,
SQLINTEGER *IndicatorPtr
);
|
SQLSetEnvAttr
The
SQLSetEnvAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLSetEnvAttr
function sets attributes for an environment handle.
The function prototype for SQLSetEnvAttr is:
RETCODE SQLSetEnvAttr(
SQLHENV EnvironmentHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength
);
|
The
following table lists the attributes that can be set
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_ODBC_VERSION
|
Y
|
|
SQL_ATTR_OUTPUT_NTS
|
Y
(See note 1)
|
|
SQL_ATTR_CONNECTION_POOLING
|
N
|
|
SQL_ATTR_CP_MATCH
|
N
|
Notes:
1.
Only supports SQL_TRUE (always NULL terminated).
SQLSetStmtAttr
The
SQLSetStmtAttr function is partially supported
in the DBMaker 3.5 API (ODBC 3.0). The SQLSetStmtAttr
function sets attributes for a statement. This function
replaces the SQLSetStatementOption function in
ODBC 2.0. The function prototype for SQLSetStmtAttr
is:
RETCODE SQLSetStmtAttr(
SQLHSTMT StatementHandle,
SQLINTEGER Attribute,
SQLPOINTER ValuePtr,
SQLINTEGER StringLength
);
|
The
following table lists the attributes that can be set
using this function, and whether they are supported
in DBMaker 3.5.
|
Attribute
|
Supported?
|
|
SQL_ATTR_APPPARAM_DESC
|
Y
|
|
SQL_ATTR_APP_ROW_DESC
|
Y
|
|
SQL_ATTR_ASYNC_ENABLE
|
Y
(See note 1)
|
|
SQL_ATTR_CONCURRENCY
|
Y
(See note 2)
|
|
SQL_ATTR_CURSOR_SCROLLABLE
|
Y
|
|
SQL_ATTR_CURSOR_SENSITIVITY
|
Y
(See note 3)
|
|
SQL_ATTR_CURSOR_TYPE
|
Y
|
|
SQL_ATTR_ENABLE_AUTO_IPD
|
Y
|
|
SQL_ATTR_FETCH_BOOKMARK_PTR
|
N
|
|
SQL_ATTR_IMP_PARAM_DESC
|
N
|
|
SQL_ATTR_IMP_ROW_DESC
|
N
|
|
SQL_ATTR_KEYSET_SIZE
|
Y
(See note 4)
|
|
SQL_ATTR_MAX_LENGTH
|
Y
(See note 4)
|
|
SQL_ATTR_MAX_ROWS
|
Y
(See note 4)
|
|
SQL_ATTR_METADATA_ID
|
Y
(See note 5)
|
|
SQL_ATTR_NOSCAN
|
Y
(See note 6)
|
|
SQL_ATTR_PARAM_BIND_OFFSET_PTR
|
Y
|
|
SQL_ATTR_PARAM_BIND_TYPE
|
Y
|
|
SQL_ATTR_PARAM_OPERATION_PTR
|
Y
|
|
SQL_ATTR_PARAM_STATUS_PTR
|
Y
|
|
SQL_ATTR_PARAMS_PROCESSED_PTR
|
Y
|
|
SQL_ATTR_PARAMSET_SIZE
|
Y
(See note 7)
|
|
SQL_ATTR_QUERY_TIMEOUT
|
Y
(See note 4)
|
|
SQL_ATTR_RETRIEVE_DATA
|
Y
(See note 8)
|
|
SQL_ATTR_ROW_ARRAY_SIZE
|
Y
|
|
SQL_ATTR_ROW_BIND_OFFSET_PTR
|
Y
|
|
SQL_ATTR_ROW_BIND_TYPE
|
Y
|
|
SQL_ATTR_ROW_NUMBER
|
N
|
|
SQL_ATTR_ROW_OPERATION_PTR
|
Y
|
|
SQL_ATTR_ROW_STATUS_PTR
|
Y
|
|
SQL_ATTR_ROWS_FETCHED_PTR
|
Y
|
|
SQL_ATTR_SIMULATE_CURSOR
|
Y
(See note 9)
|
|
SQL_ATTR_USE_BOOKMARK
|
N
|
Notes:
1.
Only supports SQL_ASYNC_ENABLE_OFF.
2.
Only supports SQL_CONCUR_READ_ONLY and SQL_CONCUR_LOCK.
3.
Only supports SQL_UNSPECIFIED.
4.
Only supports a value of 0.
5.
Only supports SQL_FALSE.
6.
Only supports SQL_NOSCAN_ON.
7.
Only supports a value of 1.
8.
Only supports SQL_RD_ON.
9.
Only supports SQL_SC_UNIQUE.
  
|