ODBC Support
Chapter contents
ODBC Interface Support
The Pervasive Relational Interface supports the ODBC v3.51 specifications for Core, Level 1, and Level 2 interface support levels.
Exceptions to ODBC Interface Support
Core Level
SQL_BEST_ROWID
The Pervasive Relational Interface uses unique indexes as the optimal set of columns that identifies a row in the table. When a new row is inserted, the Pervasive Relational Interface does not return the values for autoincrement columns. You may determine the value for an autoincrement column through the use of the @@IDENTITY variable. See @@IDENTITY .
Level 2
SQL_ROWVER
See SQL_BEST_ROWID above.
SQL_ATTR_LOGIN_TIMEOUT
Not supported
ODBC API Support
The following table lists the ODBC API functions supported by the Pervasive Relational Interface and the ODBC support level.
Table 2-4 Interface-supported ODBC API Functions
|
ODBC Function
|
ODBC Support Level
|
|
SQLAllocHandle
|
Core
|
|
SQLBindCol
|
Core
|
|
SQLBindParameter
|
Core
|
|
SQLBrowseConnect
|
Level 1
|
|
SQLBulkOperations
|
Level 1
|
|
SQLCancel
|
Core
|
|
SQLCloseCursor
|
Core
|
|
SQLColAttribute
|
Core
|
|
SQLColumnPrivileges
|
Level 2
|
|
SQLColumns
|
Core
|
|
SQLConnect
|
Core
|
|
SQLCopyDesc
|
Core
|
|
SQLDataSources
|
Core
|
|
SQLDescribeCol
|
Core
|
|
SQLDescribeParam
|
Level 2
|
|
SQLDisconnect
|
Core
|
|
SQLDriverConnect
|
Core
|
|
SQLDrivers
|
Core
|
|
SQLEndTran
|
Core
|
|
SQLExecDirect
|
Core
|
|
SQLExecute
|
Core
|
|
SQLFetch
|
Core
|
|
SQLFetchScroll
|
Core
|
|
SQLForeignKeys
|
Level 2
|
|
SQLFreeHandle
|
Core
|
|
SQLFreeStmt
|
Core
|
|
SQLGetConnectAttr
|
Core
|
|
SQLGetCursorName
|
Core
|
|
SQLGetData
|
Core
|
|
SQLGetDescField
|
Core
|
|
SQLGetDescRec
|
Core
|
|
SQLGetDiagField
|
Core
|
|
SQLGetDiagRec
|
Core
|
|
SQLGetEnvAttr
|
Core
|
|
SQLGetFunctions
|
Core
|
|
SQLGetInfo
|
Core
|
|
SQLGetStmtAttr
|
Core
|
|
SQLGetTypeInfo
|
Core
|
|
SQLMoreResults
|
Level 1
|
|
SQLNativeSql
|
Core
|
|
SQLNumParams
|
Core
|
|
SQLNumResultCols
|
Core
|
|
SQLParamData
|
Core
|
|
SQLPrepare
|
Core
|
|
SQLPrimaryKeys
|
Level 1
|
|
SQLProcedureColumns
|
Level 1
|
|
SQLProcedures
|
Level 1
|
|
SQLPutData
|
Core
|
|
SQLRowCount
|
Core
|
|
SQLSetConnectAttr
|
Core
|
|
SQLSetCursorName
|
Core
|
|
SQLSetEnvAttr
|
Core
|
|
SQLSetPos
|
Level 1
|
|
SQLSetStmtAttr
|
Core
|
|
SQLStatistics
|
Core
|
|
SQLTablePrivileges
|
Level 2
|
|
SQLTables
|
Core
|
Exceptions to ODBC API Support
The following section contains details on the exceptions to ODBC API support as specified in Table 2-4 .
SQLGetTypeInfo
SQLGetTypeInfo generates a list of native data type names (type_name) specified by the Pervasive Relational Interface. For example, SQL_CHAR is mapped to CHARACTER. Use the names which are returned from this function for the data type names for columns in a CREATE TABLE or ALTER TABLE statement or for parameters for procedures or declared variables in procedures and triggers.
SQLSpecialColumns
The Pervasive Relational Interface uses unique indexes as the optimal set of columns that uniquely identifies a row in the table. When a new row is inserted, the Pervasive Relational Interface does not return the values for autoincrement columns. You may determine the value for an autoincrement column through the use of the @@IDENTITY variable. See @@IDENTITY .
SQLGetInfo
The Pervasive ODBC Interface returns identical values for SQL_DRIVER_VER and SQL_DBMS_VER. This version value is returned in the following format:
This value can be interpreted as four components, which are shown in the following table:
|
Part
|
Value
|
Description
|
|
09
|
Major version
|
The major version of the Pervasive PSQL database engine.
|
|
00
|
Minor version
|
The minor version of the Pervasive PSQL database engine, which is typically updated in a service pack.
|
|
0147
|
Build number
|
The build further specifies the release by marking the time at which Pervasive Software generated the release.
|
|
010
|
Point build
|
A minor update to the build. The build number and point build uniquely identify a product release created at a specific time.
|
The following table summarizes the expected format of other values typically returned by SQLGetInfo. The values are examples only.
|
Item
|
Value
|
|
SQL_DRIVER_NAME
|
W3ODBCCI.DLL
|
|
SQL_DRIVER_VER
|
09.00.0147 010
|
|
SQL_DRIVER_ODBC_VER
|
03.51
|
|
SQL_DBMS_NAME
|
Pervasive PSQL
|
|
SQL_DBMS_VER
|
09.00.0147 010
|
|
SQL_ODBC_VER
|
03.52.0000
|
|
SQL_ODBC_API_CONFORMANCE
|
SQL_OAC_LEVEL2
|
|
SQL_ODBC_INTERFACE_CONFORMANCE
|
SQL_OIC_LEVEL2
|
ODBC Attribute Support
The Pervasive Relational Interface fully conforms to the ODBC v3.51 Attribute support.
Exceptions to ODBC Attribute Support
Statement Attribute Support
The following table lists the exceptions to ODBC Statement Attribute support:
Table 2-5 Exceptions to ODBC Statement Attribute Support
|
fOption (numerical value)
|
Comments
|
|
SQL_ATTR_QUERY_TIMEOUT (0)
|
Supported through SQLSetStmtAttr and SQLSetConnectAttr. Applies only to SQLExecDirect, SQLExecute, SQLFetch, and SQLExtendedFetch. Does not apply to DDL statements.
|
|
SQL_ATTR_METADATA_ID (10014)
|
The default value is SQL_FALSE. Pervasive ODBC Driver does not allow setting this attribute's value to SQL_TRUE.
|
|
SQL_ATTR_ENABLE_AUTO_IPD (15)
|
The default value is SQL_TRUE. Pervasive ODBC Driver does not allow setting this attribute value to SQL_FALSE.
|
|
SQL_ATTR_PARAM_BIND_TYPE (18)
|
Only SQL_PARAM_BIND_BY_COLUMN is supported.
|
Connection Attribute Support
The following table lists the exceptions to ODBC Connection Attribute support:
Table 2-6 Exceptions to ODBC Connection Attribute Support
|
fOption (numerical value)
|
Comments
|
|
SQL_ATTR_AUTO_IPD (10001)
|
The default value is SQL_TRUE. The Pervasive ODBC Driver does not allow setting this attribute value to SQL_FALSE.
|
|
SQL_ATTR_METADATA_ID (10014)
|
The default value is SQL_FALSE. The Pervasive ODBC Driver does not allow setting this attribute's value to SQL_TRUE
|
|
SQL_ATTR_CONNECTION_TIMEOUT (113)
|
The default value is 0. No other value is supported.
|