TimesTen provides an ODBC 3.51 driver that also supports ODBC 2.5 for applications not using a driver manager, as follows:
For ODBC 3.5, TimesTen supports ODBC 3.51 core interface conformance.
For ODBC 2.5, TimesTen supports Extension Level 1, as well as Extension Level 2 features that are documented in this chapter.
This chapter covers the details of TimesTen ODBC support, discussing the following topics, including changes in TimesTen 18.1 that may necessitate code changes in ODBC applications used with previous versions of TimesTen:
You can also refer to the following additional resources.
Backward compatibility and standards compliance:
Summary of differences between ODBC 2.5 and ODBC 3.5:
Additional behavioral changes:
https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/behavioral-changes
Writing ODBC 3.x applications:
https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/writing-odbc-3-x-applications
ODBC API reference documentation:
https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference
Also see "TimesTen include files", for information about #include
files for TimesTen extensions.
This section covers theses topics for TimesTen ODBC 3.5 support:
Attribute support for ODBC 3.5 SQLSetConnectAttr and SQLGetConnectAttr
Attribute support for ODBC 3.5 SQLSetStmtAttr and SQLGetStmtAttr
In accordance with the ODBC 3.5 specification, an ODBC 3.5 application calls SQLSetEnvAttr
to set SQL_ATTR_ODBC_VERSION
to SQL_OV_ODBC3
directly after calling SQLAllocHandle
, such as in this example:
RetCode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
...
RetCode = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
...
RetCode = SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
...
RetCode = SQLDriverConnect(hDbc, winHandle, connStr, SQL_NTS,
outConnStr, outConnStrBufferLen,
&outConnStrLen, SQL_DRIVER_NOPROMPT);
...
Important:
Because TimesTen 18.1 is a major release, you should recompile and relink existing ODBC applications. Also see "ODBC API incompatibilities with previous versions of TimesTen".It is also advisable to link your applications dynamically rather than statically.
Previous TimesTen releases support cross-release client/server connections, where the client version could be either newer or older than the server version (such as an 11.2.2 client connecting to an 11.2.1 server, or an 11.2.1 client connecting to an 11.2.2 server).
Due to changes in ODBC 3.5 functionality, TimesTen clients of Release 18.1 or later cannot connect to an older TimesTen server when the client declares itself to be ODBC 3.x compliant by specifying SQL_ODBC_OV3
in a SQLSetEnvAttr
call (such as shown in the preceding section).
Note:
This limitation does not impact ODBC 2.5 applications.This section lists ODBC 3.5 new and replacement functions supported by TimesTen.
Note:
The TimesTen ODBC driver supports wide-character (W) function versions for applications not using a driver manager, as indicated in Table 10-1 and Table 10-8.Table 10-1 Supported ODBC 3.5 new and replacement functions
Function | Notes |
---|---|
|
With applicable settings for |
|
Call returns "Driver not capable." |
|
Replaces the ODBC 2.5 function |
|
Replaces the ODBC 2.5 function |
|
No notes |
|
Replaces the ODBC 2.5 function |
|
TimesTen supports only the |
|
With applicable settings for |
|
Replaces the ODBC 2.5 function |
|
No notes |
|
No notes |
|
Replaces the ODBC 2.5 function Native error codes are TimesTen errors. You may receive generic errors such as, "Execution at Oracle failed. Oracle error code When using
|
|
Replaces the ODBC 2.5 function Native error codes are TimesTen errors. You may receive generic errors such as, "Execution at Oracle failed. Oracle error code When using
|
|
No notes |
|
Replaces the ODBC 2.5 function |
|
Replaces the ODBC 2.5 function |
|
No notes |
|
No notes |
|
Required for ODBC applications to set |
|
Replaces the ODBC 2.5 function |
TimesTen supports these data types, new in ODBC 3.5:
SQL_C_NUMERIC
SQL_C_TYPE_DATE
SQL_C_TYPE_TIME
SQL_C_TYPE_TIMESTAMP
TimesTen does not support these data types or has limited support:
SQL_GUID
: TimesTen does not support conversion of this type to a C type.
SQL_INTERVAL_
xxxx
: TimesTen does not support conversion of interval types to C types.
SQL_WCHAR
: TimesTen does not support conversion of this type to C numeric types.
Table 10-2 lists standard environment attributes supported by TimesTen in ODBC 3.5.
Table 10-3 lists support of standard attributes by TimesTen for the ODBC 3.5 SQLSetConnectAttr
and SQLGetConnectAttr
functions. These functions enable you to set connection attributes after the initial connection or retrieve those settings.
Also see "Attribute support for ODBC 3.5 SQLSetStmtAttr and SQLGetStmtAttr". Those attributes can also be set using SQLSetConnectAttr
, in which case the value serves as a default for all statements on the connection.
For TimesTen-specific attributes, see "Option support for ODBC 2.5 SQLSetConnectOption and SQLGetConnectOption". These attributes are supported for both ODBC 2.5 and ODBC 3.5.
Notes:
An attribute setting through SQLSetConnectAttr
or SQLSetStmtAttr
overrides the setting of the corresponding connection attribute (as applicable).
The documentation here also applies to SQLSetConnectAttrW
and SQLGetConnectAttrW
.
TimesTen also supports the options listed in "Option support for ODBC 2.5 SQLSetConnectOption and SQLGetConnectOption".
Table 10-3 Standard connection attributes (ODBC 3.5)
Attribute | Notes |
---|---|
|
Supported setting |
|
Read-only (get); value is always |
|
Read-only (get). |
|
Supported setting 0; any other setting reverts to 0. |
|
Driver not capable. |
|
Supported setting |
Table 10-4 lists standard attributes supported by TimesTen for the ODBC 3.5 SQLSetStmtAttr
and SQLGetStmtAttr
functions. These functions enable you to set or retrieve statement attribute settings.
To set an attribute default value for all statements associated with a connection, use SQLSetConnectAttr
.
Notes:
An attribute setting through SQLSetConnectAttr
or SQLSetStmtAttr
overrides the setting of the corresponding connection attribute (as applicable).
TimesTen also supports the options listed in "Option support for ODBC 2.5 SQLSetStmtOption and SQLGetStmtOption".
Table 10-4 Standard statement attributes (ODBC 3.5)
Attribute | Notes |
---|---|
|
No notes |
|
No notes |
|
Supported setting |
|
Supported setting |
|
No notes |
|
Read-only (get). |
|
Read-only (get). |
|
Supported setting |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
The SQLColAttribute
function returns descriptor information for a column in a result set.
Refer to ODBC API reference documentation for complete information about this function and standard column descriptors.
Note:
This replacesSQLColAttributes
(plural) in ODBC 2.5.Table 10-5 describes TimesTen-specific field identifiers.
Table 10-5 TimesTen field identifiers: SQLColAttribute (ODBC 3.5)
Descriptor | Comment/description |
---|---|
Returns |
|
For character-type columns, this returns "BYTE" for columns with byte length semantics and "CHAR" for columns with character length semantics. For non-character columns, it returns "". The information is returned in the This information refers to whether data length is measured in bytes or characters. Length semantics in TimesTen are the same as in Oracle Database. See "Length Semantics" in Oracle Database Globalization Support Guide for additional information. |
This section covers support in the TimesTen ODBC 3.5 implementation for standard and TimesTen-specific information types for the ODBC function SQLGetInfo
.
Table 10-6 documents TimesTen support for standard information types that were introduced or renamed in ODBC 3.0, noting the TimesTen-specific correct value or values returned.
Refer to the following location for standard information:
https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlgetinfo-function
Also see "Information type support for ODBC 2.5 SQLGetInfo". Those information types are still supported by the TimesTen ODBC 3.5 driver (with some renamed, as noted).
Table 10-6 TimesTen support for standard information types: SQLGetInfo (ODBC 3.5)
Information type | Notes and correct values returned by TimesTen |
---|---|
|
0: Environment objects are allocated from heap. |
|
|
|
0: |
|
|
|
|
|
0: Batches of SQL statements not supported. |
|
0: Batches of SQL statements not supported. |
|
0: Catalog names as qualifiers not supported.
|
|
"N": Catalog names as qualifiers not supported. |
|
|
|
"data store"
|
|
0: Catalogs not supported.
|
|
Current value of the Note: Because TimesTen does not have a default character set, default collation for the default character is set is not applicable. |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
To determine which clauses are supported:
To specify the ability to create temporary tables:
To specify the ability to create column constraints:
|
|
0: |
|
|
|
|
|
|
|
|
|
"Y": Parameters can be described. |
|
|
|
Pointer to driver descriptor handle. |
|
0: |
|
0: |
|
0: |
|
0: |
|
0: |
|
|
|
0: |
|
|
|
None: Dynamic cursors not supported. |
|
None: Dynamic cursors not supported. |
|
|
|
|
|
|
|
None: Views in the |
|
|
|
"N"
|
|
None: Keyset cursors not supported. |
|
None: Keyset cursors not supported. |
|
|
|
0: No specific limit to number of active concurrent statements in asynchronous mode. |
Alias |
0: No specific maximum length.
|
Alias |
0: Allocated from heap, no limit on concurrency.
|
Alias |
|
Alias |
|
|
"N" |
Alias |
|
|
|
|
|
|
|
|
"owner"
|
|
|
|
|
|
None: Datetime scalar functions not supported. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
None: Row value constructor expressions not supported. |
|
None: String scalar functions not supported. |
|
|
|
None: Driver does not conform to CLI standards. |
|
|
|
|
|
|
|
|
|
|
Table 10-7 describes TimesTen-specific information types.
Table 10-7 TimesTen information types: SQLGetInfo
Information type | Data type | Description |
---|---|---|
|
Returns 1 if the database is in invalid state, such as due to a system or application failure, or 0 if not. Note: Fatal errors, such as error 846 or 994, invalidate a TimesTen database, causing this item to be set to 1. |
|
|
Returns the name of the database character set. |
|
|
Returns the maximum size of a character in the database character set, in bytes. |
|
Bit mask |
Returns a bit mask indicating platform information. Bit 0 has the value 1 for a 64-bit platform. Bit 1 has the value 1 for big-endian, or the value 0 for little-endian. |
|
|
Returns 1 if replication is in a failed state, or 0 if not. For additional information, see "Subscriber failures" in Oracle TimesTen In-Memory Database Replication Guide. |
The list of TimesTen SQL keywords returned for SQL_KEYWORDS
in a SQLGetInfo
call is the same in TimesTen ODBC 3.5 support as in ODBC 2.5 support. See "TimesTen SQL keywords for ODBC 2.5".
This is different from the list of TimesTen reserved words. For that list, see "Reserved Words" in Oracle TimesTen In-Memory Database SQL Reference.
This section covers these topics for TimesTen 2.5 support:
Option support for ODBC 2.5 SQLSetConnectOption and SQLGetConnectOption
Option support for ODBC 2.5 SQLSetStmtOption and SQLGetStmtOption
An ODBC 2.5 application not using a driver manager will continue to work with the TimesTen 18.1 ODBC driver through its call to SQLAllocEnv
.
Important:
Because TimesTen 18.1 is a major release, you should recompile and relink existing ODBC applications. Also see "ODBC API incompatibilities with previous versions of TimesTen".It is also advisable to link your applications dynamically rather than statically.
This section lists ODBC 2.5 functions supported by TimesTen.
Notes:
The TimesTen ODBC driver supports wide-character (W) function versions for applications not using a driver manager, as indicated in Table 10-8.
In ODBC 2.5, TimesTen supports some ODBC 3.0 handle types (such as SQLHDBC
and SQLHENV
) as well as ODBC 2.0 handle types (such as HDBC
and HENV
). TimesTen recommends using ODBC 3.0 handle types. The FAR
modifier that is mentioned in ODBC 2.0 documentation is not required.
Table 10-8 Supported ODBC 2.5 functions
Function | Notes |
---|---|
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
|
|
Do not call |
|
See "Column descriptor support for ODBC 2.5 SQLColAttributes". |
|
Call returns "driver not capable". |
|
For catalog functions, TimesTen supports only an empty string or |
|
Note the TimesTen name for the "W" function. |
|
Available only to programs using a driver manager. |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
Available only to programs using a driver manager. |
|
Native error codes are TimesTen errors. You may receive generic errors such as, "Execution at Oracle failed. Oracle error code When using
|
|
See |
|
TimesTen does not support asynchronous statement execution. (TimesTen does not support the |
|
The return code is defined as
|
|
For catalog functions, TimesTen supports only an empty string or |
|
No notes |
|
No notes |
|
No notes |
|
See "Option support for ODBC 2.5 SQLSetConnectOption and SQLGetConnectOption". |
|
You can set or get a cursor name but not reference it, such as in a |
|
See "Avoid SQLGetData". |
|
No notes |
|
|
|
See "Option support for ODBC 2.5 SQLSetStmtOption and SQLGetStmtOption". |
|
For catalog functions, TimesTen supports only an empty string or |
|
No notes |
|
No notes |
|
No notes |
|
No notes |
|
|
|
No notes |
|
For catalog functions, TimesTen supports only an empty string or |
|
For catalog functions, TimesTen supports only an empty string or |
|
For catalog functions, TimesTen supports only an empty string or |
|
No notes |
|
In addition to its standard functionality, this is used with TimesTen cache groups. See "Managing cache groups". |
|
See "Option support for ODBC 2.5 SQLSetConnectOption and SQLGetConnectOption" under the next section. |
|
You can set or get a cursor name but not reference it, such as in a |
|
This is an ODBC 1.0 function, replaced by |
|
Call returns "driver not capable". |
|
See "Option support for ODBC 2.5 SQLSetStmtOption and SQLGetStmtOption". |
|
TimesTen supports only the For catalog functions, TimesTen supports only an empty string or |
|
For catalog functions, TimesTen supports only an empty string or |
|
Call returns "driver not capable". |
|
For catalog functions, TimesTen supports only an empty string or |
|
No notes |
Table 10-9 lists standard options supported by TimesTen for the ODBC 2.5 SQLSetConnectOption
and SQLGetConnectOption
functions, with notes about the support. Table 10-10 lists TimesTen-specific options. These functions enable you to set connection options after the initial connection or retrieve those settings. Some of these correspond to connection attributes you can set during the connection process, as noted.
Also see "Option support for ODBC 2.5 SQLSetStmtOption and SQLGetStmtOption". Those options can also be set using SQLSetConnectOption
, in which case the value serves as a default for all statements on the connection.
Notes:
An option setting through SQLSetConnectOption
or SQLSetStmtOption
overrides the setting of the corresponding connection attribute (as applicable).
The documentation here also applies to SQLSetConnectOptionW
and SQLGetConnectOptionW
.
Where TimesTen connection attributes are mentioned as being equivalent to ODBC connection options, see "Connection Attributes" in Oracle TimesTen In-Memory Database Reference for additional information.
Table 10-9 Standard connection options (ODBC 2.5)
Option | Notes |
---|---|
|
No notes |
|
See "ODBC 2.5 function signatures that have changed" (refer to |
|
No notes |
|
Supported for programs using a driver manager |
|
Supported for programs using a driver manager |
|
Supported for programs using a driver manager |
Supported for See "Prefetching multiple rows of data" for information about the relationship between prefetching and isolation level. Also see "Concurrency control through isolation and locking" in Oracle TimesTen In-Memory Database Operations Guide and "Isolation" in Oracle TimesTen In-Memory Database Reference. |
Table 10-10 TimesTen connection options (ODBC 2.5)
Option | Notes |
---|---|
|
This is for client/server only and has the same functionality as the Also see "Choose SQL and PL/SQL timeout values" in Oracle TimesTen In-Memory Database Operations Guide for information about the relationship between timeout values. |
|
See "Dynamic load configuration" in Oracle TimesTen Application-Tier Database Cache User's Guide. This has the same functionality as the |
|
See "Returning dynamic load errors" in Oracle TimesTen Application-Tier Database Cache User's Guide. This has the same functionality as the |
|
Read-only (get). This indicates whether the database is from a TimesTen instance enabled for TimesTen Scaleout. |
|
See "Setting globalization options". This has the same functionality as the |
|
See "Setting globalization options". This has the same functionality as the |
|
See "Setting globalization options". This has the same functionality as the |
|
Read-only (get). See "Configuration of automatic client failover". This indicates the setting of the TimesTen connection attribute |
|
Set to |
|
See "Using automatic client failover in your application". This attribute is client-only. If you attempt to use it in TimesTen direct mode, |
|
See "Features for use with replication". For ODBC applications that use parallel replication and specify replication tracks, this has the same functionality as the |
|
Read-only (get). See "Configuration of automatic client failover". This indicates the setting of the TimesTen connection attribute |
|
Read-only (get). If
This is relevant only for client connections. |
Table 10-11 lists standard options supported by TimesTen for the ODBC 2.5 SQLSetStmtOption
and SQLGetStmtOption
functions, with notes about the support. Table 10-12 lists TimesTen-specific options. These functions enable you to set or retrieve statement option settings.
To set an option default value for all statements associated with a connection, use SQLSetConnectOption
.
Notes:
An option setting throughSQLSetConnectOption
or SQLSetStmtOption
overrides the setting of the corresponding connection attribute (as applicable).Table 10-11 Standard statement options (ODBC 2.5)
Option | Notes |
---|---|
|
|
|
No notes |
|
Note:
TheSQL_MAX_LENGTH
option can be set, but any specified value is overridden with 0 (return all available data).Table 10-12 TimesTen statement options (ODBC 2.5)
Option | Notes |
---|---|
|
|
|
See "Setting a threshold duration for SQL statements". This is to specify a time threshold for SQL statements, in seconds, after which TimesTen writes a warning to the support log. |
|
Commands are not shared with any other connection. See "PrivateCommands" in Oracle TimesTen In-Memory Database Reference. |
Determines whether a specific prepared statement is passed through to Oracle Database by the passthrough feature of TimesTen Cache. The value returned by Note: In TimesTen, this option is supported only with See "Determining passthrough status". Also see "Setting a passthrough level" in Oracle TimesTen Application-Tier Database Cache User's Guide. |
The SQLColAttributes
function returns descriptor information for a column in a result set.
Refer to ODBC API reference documentation for complete information about this function and standard column descriptors.
Table 10-13 describes TimesTen-specific column descriptors.
Table 10-13 TimesTen column descriptors: SQLColAttributes
Descriptor | Comment/description |
---|---|
Returns |
|
For character-type columns, this returns "BYTE" for columns with byte length semantics and "CHAR" for columns with character length semantics. For non-character columns, it returns "". The information is returned in the This information refers to whether data length is measured in bytes or characters. Length semantics in TimesTen are the same as in Oracle Database. See "Length Semantics" in Oracle Database Globalization Support Guide for additional information. |
This section covers support in the TimesTen ODBC 2.5 implementation for information types for the ODBC function SQLGetInfo
.
Table 10-14 documents TimesTen support for standard information types introduced in ODBC 1.0 and 2.0, as well as ODBC 3.0 information types supported by the TimesTen ODBC 2.5 implementation (as indicated), noting the TimesTen-specific correct value or values returned.
See "Information type support for ODBC 3.5 SQLGetInfo" for TimesTen-specific information types, which are supported for both ODBC 3.5 and ODBC 2.5.
Table 10-14 TimesTen support for standard information types: SQLGetInfo (ODBC 2.5)
Information type | Notes and correct values returned by TimesTen |
---|---|
|
"Y" |
|
"Y" |
|
|
|
0: Allocated from heap, no limit on concurrency. |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
|
|
0: Bookmarks persist through none of the operations. |
|
"Y" |
|
|
|
|
|
0: |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
|
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
|
|
|
|
"": Empty string. |
|
"N" |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
|
|
Pointer to driver connection handle. |
|
Pointer to driver environment handle. |
|
Note: If you use a driver manager, this returns the pointer to the TimesTen library. |
|
Pointer to driver statement handle. |
|
The file name of the TimesTen ODBC driver library for your platform. |
|
"3.51" for ODBC 3.5; "2.50" for ODBC 2.5. |
|
A string indicating the TimesTen version. For example, for TimesTen Release 18.1: "18.01.0001.0001 Oracle TimesTen version 18.1.4.1.0". |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
"Y" |
|
|
|
|
|
|
|
SELECT dept, MAX(salary) FROM employee GROUP BY dept, age; |
|
|
|
""": A string with one quote mark, which is the quote character. |
|
|
|
"Y" |
|
16384 |
|
|
Alias |
|
Alias |
|
|
|
Alias |
|
Alias |
|
Alias |
|
Alias |
18 |
|
4194304 |
|
|
|
|
|
0: No specific maximum length. |
|
4194304 |
Alias |
|
Alias |
|
Alias |
|
Alias |
|
|
"N" |
|
"Y" |
|
"N" |
|
|
|
|
|
|
|
"N" |
|
N/A, implemented by the driver manager. |
Alias |
|
|
"Y" |
|
"Y" |
|
"owner" |
|
|
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
0: Scrollable cursors not supported. |
|
"procedure" |
|
"Y" |
|
0: Catalog names as qualifiers not supported. |
|
|
|
"data store" |
|
0: Catalogs not supported. |
|
|
|
"N" |
|
|
|
"\\" |
|
"": Empty string. |
|
"@#$": A string indicating the special characters. |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
ODBC 3.0 information type supported by TimesTen ODBC 2.5 implementation. See "Information type support for ODBC 3.5 SQLGetInfo". |
|
|
|
|
|
|
|
"table" |
|
|
|
|
|
|
Alias |
|
Alias |
|
|
|
|
At runtime, returns a string containing the user name. |
Note:
If you useInfoType
value SQL_DRIVER_HDBC
, SQL_DRIVER_HENV
, or SQL_DRIVER_HSTMT
, refer to "ODBC 2.5 function signatures that have changed".This section lists the TimesTen SQL keywords returned for SQL_KEYWORDS
in a SQLGetInfo
call.
This is different from the list of TimesTen reserved words. For that list, see "Reserved Words" in Oracle TimesTen In-Memory Database SQL Reference.
ABS, ACCOUNT, ACTIVE, ADDMONTHS, ADMIN, AFFINITY, AGENT, AGING, ALLOW, ASCIISTR, ASYNCHRONOUS, AUTHID, AUTOREFRESH, AWT, BATCH, BIG, BIGINT, BINARY, BINARY_DOUBLE, BINARY_DOUBLE_INFINITY, BINARY_DOUBLE_NAN, BINARY_FLOAT, BINARY_FLOAT_INFINITY, BINARY_FLOAT_NAN, BITAND, BITMAP, BITNOT, BITOR, BITXOR, BLOB, BODY, BYTE, BYTES, CACHE, CACHEONLY, CACHE_MANAGER, CALL, CHECKING, CHR, CLOB, COLUMNAR, COMMITTED, COMPILE, COMPLETE, COMPRESS, CONCAT, CONFLICT, CONFLICTS, CS, CUBE, CURRENT_SCHEMA, CURRVAL, CYCLE, DATASTORE, DATASTORE_OWNER, DAYS, DEBUG, DECODE, DEFINED, DEFINER, DEFINITION, DELETE_FT, DESTROY, DICTIONARY, DIRECTORY, DISABLE, DISTRIBUTE, DUPLICATE, DURABLE, DURATION, DYNAMIC, ELEMENT, ENABLE, ENCRYPTED, ENDSEQ, EVERY, EXACT, EXCLUDE, EXIT, EXPIRE, EXTERNALLY, FACTOR, FAILTHRESHOLD, FAST, FIRST_VALUE, FLUSH, FOLLOWING, FORCE, FORMAT, FUNCTION, GETDATE, GRID, GROUPING, GROUPING_ID, GROUP_ID, HASH, HEARTBEAT, HIERARCHY, HOURS, ID, IDENTIFIED, IGNORE, INCREMENT, INCREMENTAL, INFINITE, INLINE, INSERTONLY, INSTANCE, INSTR, INSTR4, INSTRB, LAST_VALUE, LATENCY, LENGTH, LENGTH4, LENGTHB, LIBRARY, LIFETIME, LIMIT, LIMIT_FT, LOAD, LOAD_FT, LOCK, LOG, LONG, LRU, MASTER, MASTERIP, MATCHED, MATERIALIZED, MAXVALUE, MAXVALUES, MERGE, MIGRATORY, MILLISECOND, MILLISECONDS, MINUS, MINUTES, MINVALUE, MOD, MODE, MODIFY, MULTI, NAME, NAN, NCHAR_CS, NCHR, NCLOB, NEXTVAL, NLSSORT, NOBATCH, NOCACHE, NOCYCLE, NOMAXVALUE, NOMINVALUE, NONDURABLE, NOORDER, NOWAIT, NULLS, NUMBER, NUMTODSINTERVAL, NUMTOYMINTERVAL, NVARCHAR, NVARCHAR2, NVL, OFF, OPTIMIZED, ORACLE, ORA_CHAR, ORA_DATE, ORA_FLOAT, ORA_NCHAR, ORA_NVARCHAR2, ORA_SYSDATE, ORA_TIMESTAMP, ORA_VARCHAR2, OUT, OVER, PACKAGE, PAGES, PAIR, PARALLEL, PARTITION, PASSWORD, PAUSED, PLSQL_WARNINGS, PORT, PRECEDING, PRIORITY, PRIVATE, PROPAGATE, PROPAGATOR, PUBLICREAD, PUBLICROW, QUIT, RANGE, RC, READERS, READONLY, RECEIPT, REFERENCE, REFRESH, REFRESH_FT, RELAXED, RELEASE, RENAME, REPLACE, REPLICATION, REPORT, REPORTING, REQUEST, RESUME, RETURN, RETURNING, REUSE, RLE, ROLLUP, ROUTE, ROW, ROWID, ROWIDONLY, ROWNUM, RR, RTRIM, RU, SECONDS, SELF, SEQBATCH, SEQCACHE, SEQUENCE, SERVICES, SETS, SETTINGS, SPECIFICATION, SQL_TSI_DAY, SQL_TSI_FRAC_SECOND, SQL_TSI_HOUR, SQL_TSI_MINUTE, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_SECOND, SQL_TSI_WEEK, SQL_TSI_YEAR, STANDARD, STANDBY, START, STARTSEQ, STATE, STATIC, STOPPED, STORE, SUBSCRIBER, SUBSCRIBERIP, SUBSTR, SUBSTR4, SUBSTRB, SUSPEND, SYNCHRONOUS, SYNONYM, SYSDATE, SYSDBA, SYSTEM, TAG, TIMEOUT, TIMESTAMPADD, TIMESTAMPDIFF, TINYINT, TO_BLOB, TO_CHAR, TO_CLOB, TO_DATE, TO_LOB, TO_NCLOB, TO_NUMBER, TO_TIMESTAMP, TRAFFIC, TRANSMIT, TREE, TRUNC, TRUNCATE, TRUSTED, TT_BIGINT, TT_BINARY, TT_CHAR, TT_DATE, TT_DECIMAL, TT_HASH, TT_INT, TT_INTEGER, TT_INTERVAL, TT_NCHAR, TT_NVARCHAR, TT_SMALLINT, TT_SYSDATE, TT_TIME, TT_TIMESTAMP, TT_TINYINT, TT_VARBINARY, TT_VARCHAR, TWOSAFE, UID, UNBOUNDED, UNISTR, UNLOAD, UNLOCK, USE, USERMANAGED, VARBINARY, VARCHAR2, WAIT, WRAPPED, WRITETHROUGH, XLA, XML, XYZZY
The TimesTen 18.1 release introduces changes that impact ODBC applications used with previous versions of TimesTen.
The TimesTen driver is ODBC-compliant; however, in this release, more recent ODBC header files are provided in the include
directory of the TimesTen installation on Linux and UNIX platforms.
Changes were also made to update some ODBC types and functions to make them 64-bit compatible.
These and other changes may necessitate code changes on any platform. ODBC changes requiring code updates for ODBC applications fall into the following categories:
ODBC function changes
Function signature changes: A number of function signatures have changed for 64-bit programming.
Changes to the size of option or attribute values: This refers to values of connection options, statement options, column attributes, or driver and data source information, either passed or returned. These are now 64-bit values in the circumstances indicated below.
ODBC data type changes
Important:
Even if none of the required code changes applies to your applications, you should recompile and relink existing ODBC applications the first time you use a TimesTen 18.1 release.If your existing TimesTen ODBC application uses features described in these sections, you must update the application as necessary:
In previous releases, TimesTen provided partial support for ODBC 3.5 functionality, including:
Handle allocation methods
Diagnostic records
Wide character functions
Attribute set and get functions for handles
SQLColAttribute
Miscellaneous functions that map directly to 2.5 functionality such as SQLCloseCursor
and SQLEndTran
The functions listed in Table 10-15 have changes to the signature or changes to the size of attribute values, requiring code updates for ODBC 3.5 applications, as indicated. Sizes of attribute values apply to values of connection and statement attributes, either passed or returned.
Notes:
Signature changes apply to either 64-bit or 32-bit environments. Size changes in option and attribute values apply only to 64-bit environments.
TimesTen ODBC does not return values for options or attributes related to features that TimesTen does not support. For example: SQL_ATTR_ASYNC_ENABLE
, SQL_ATTR_ENLIST_IN_DTC
, SQL_ATTR_CURSOR_SCROLLABLE
, SQL_ATTR_CURSOR_SENSITIVITY
, SQL_ATTR_FETCH_BOOKMARK_PTR
, SQL_ATTR_METADATA_ID
, SQL_ATTR_RETRIEVE_DATA
, SQL_ATTR_SIMULATE_CURSOR
, SQL_ATTR_USE_BOOKMARKS
.
Table 10-15 Changes in ODBC 3.5 functions
Function | Signature changes | Size changes in option and attribute values |
---|---|---|
|
N/A |
On UNIX platforms: For the following SQL_DESC_AUTO_UNIQUE_VALUE SQL_DESC_CASE_SENSITIVE SQL_DESC_CONCISE_TYPE SQL_DESC_COUNT SQL_DESC_DISPLAY_SIZE SQL_DESC_FIXED_PREC_SCALE SQL_DESC_LENGTH SQL_DESC_NULLABLE SQL_DESC_NUM_PREC_RADIX SQL_DESC_OCTET_LENGTH SQL_DESC_PRECISION SQL_DESC_SCALE SQL_DESC_SEARCHABLE SQL_DESC_TYPE SQL_DESC_UNNAMED SQL_DESC_UNSIGNED SQL_DESC_UPDATABLE |
|
Note: TimesTen-specific attributes (prefixed with |
On UNIX platforms: For the following attributes, a 64-bit value is returned in SQL_ATTR_ASYNC_ENABLE SQL_ATTR_ENLIST_IN_DTC SQL_ATTR_ODBC_CURSORS SQL_ATTR_QUIET_MODE |
|
*ValuePtr must be Note: TimesTen-specific attributes (prefixed with |
On UNIX platforms: For the following attributes, a 64-bit value is returned in SQL_ATTR_APP_PARAM_DESC SQL_ATTR_APP_ROW_DESC SQL_ATTR_ASYNC_ENABLE SQL_ATTR_CONCURRENCY SQL_ATTR_CURSOR_SCROLLABLE SQL_ATTR_CURSOR_SENSITIVITY SQL_ATTR_CURSOR_TYPE SQL_ATTR_ENABLE_AUTO_IPD SQL_ATTR_FETCH_BOOKMARK_PTR SQL_ATTR_ROWS_FETCHED_PTR SQL_ATTR_IMP_PARAM_DESC SQL_ATTR_IMP_ROW_DESC SQL_ATTR_KEYSET_SIZE SQL_ATTR_MAX_LENGTH SQL_ATTR_MAX_ROWS SQL_ATTR_METADATA_ID SQL_ATTR_NOSCAN SQL_ATTR_PARAM_BIND_OFFSET_PTR SQL_ATTR_PARAM_BIND_TYPE SQL_ATTR_PARAM_OPERATION_PTR SQL_ATTR_PARAM_STATUS_PTR SQL_ATTR_PARAMS_PROCESSED_PTR SQL_ATTR_PARAMSET_SIZE SQL_ATTR_QUERY_TIMEOUT SQL_ATTR_RETRIEVE_DATA SQL_ATTR_ROW_ARRAY_SIZE SQL_ATTR_ROW_BIND_OFFSET_PTR SQL_ATTR_ROW_NUMBER SQL_ATTR_ROW_OPERATION_PTR SQL_ATTR_ROW_STATUS_PTR SQL_ATTR_SIMULATE_CURSOR SQL_ATTR_USE_BOOKMARKS |
|
Note: TimesTen-specific attributes (prefixed with |
On UNIX platforms: For the following attributes, a 64-bit value is passed in SQL_ATTR_ASYNC_ENABLE SQL_ATTR_ENLIST_IN_DTC SQL_ATTR_ODBC_CURSORS SQL_ATTR_QUIET_MODE |
|
Note: TimesTen-specific attributes (prefixed with |
On UNIX platforms: For the following attributes, a 64-bit value is passed in SQL_ATTR_APP_PARAM_DESC SQL_ATTR_APP_ROW_DESC SQL_ATTR_ASYNC_ENABLE SQL_ATTR_CONCURRENCY SQL_ATTR_CURSOR_SCROLLABLE SQL_ATTR_CURSOR_SENSITIVITY SQL_ATTR_CURSOR_TYPE SQL_ATTR_ENABLE_AUTO_IPD SQL_ATTR_FETCH_BOOKMARK_PTR SQL_ATTR_IMP_PARAM_DESC SQL_ATTR_IMP_ROW_DESC SQL_ATTR_KEYSET_SIZE SQL_ATTR_MAX_LENGTH SQL_ATTR_MAX_ROWS SQL_ATTR_METADATA_ID SQL_ATTR_NOSCAN SQL_ATTR_PARAM_BIND_OFFSET_PTR SQL_ATTR_PARAM_BIND_TYPE SQL_ATTR_PARAM_OPERATION_PTR SQL_ATTR_PARAM_STATUS_PTR SQL_ATTR_PARAMS_PROCESSED_PTR SQL_ATTR_PARAMSET_SIZE SQL_ATTR_QUERY_TIMEOUT SQL_ATTR_RETRIEVE_DATA SQL_ATTR_ROW_ARRAY_SIZE SQL_ATTR_ROW_BIND_OFFSET_PTR SQL_ATTR_ROW_NUMBER SQL_ATTR_ROW_OPERATION_PTR SQL_ATTR_ROW_STATUS_PTR SQL_ATTR_ROWS_FETCHED_PTR SQL_ATTR_SIMULATE_CURSOR SQL_ATTR_USE_BOOKMARKS |
The functions listed in Table 10-16 have changes to the signature or changes to the size of option or attribute values, requiring code updates for ODBC 2.5 applications, as indicated. Sizes of option or attribute values apply to values of connection options, statement options, column attributes, or driver and data source information, either passed or returned.
Table 10-16 Changes in ODBC 2.5 functions
Function | Signature changes | Size changes in option and attribute values |
---|---|---|
|
N/A |
On Linux and UNIX platforms: For the following SQL_COLUMN_COUNT SQL_COLUMN_DISPLAY_SIZE SQL_COLUMN_LENGTH SQL_DESC_AUTO_UNIQUE_VALUE SQL_DESC_CASE_SENSITIVE SQL_DESC_CONCISE_TYPE SQL_DESC_FIXED_PREC_SCALE SQL_DESC_SEARCHABLE SQL_DESC_UNSIGNED SQL_DESC_UPDATABLE |
|
The Note: TimesTen-specific options (prefixed with |
On Linux and UNIX platforms: For the option |
|
N/A |
On Linux and UNIX platforms: For the following SQL_DRIVER_HDBC SQL_DRIVER_HENV SQL_DRIVER_HSTMT |
|
The Note: TimesTen-specific options (prefixed with |
On Linux and UNIX platforms: For the following options, a SQL_KEYSET_SIZE SQL_MAX_LENGTH SQL_MAX_ROWS SQL_ROWSET_SIZE |
|
On Linux and UNIX platforms: The |
N/A |
|
The Note: TimesTen-specific options (prefixed with |
On Linux and UNIX platforms: For the option |
|
TimesTen does not support scrollable cursors. This function returns a "Driver not capable" error (S1C00). Note: The ODBC definition of |
N/A |
|
The Note: TimesTen-specific options (prefixed with |
On Linux and UNIX platforms: For the following options, a SQL_KEYSET_SIZE SQL_MAX_LENGTH SQL_MAX_ROWS SQL_ROWSET_SIZE |
Table 10-17 summarizes changes to data types that require code updates for ODBC applications.
Table 10-17 ODBC 2.5 data types that have changed
Data types | Explanation |
---|---|
HANDLE HINSTANCE |
On Linux and UNIX platforms: These data types have been redefined as |
SQLROWCOUNT SQLROWSETSIZE SQLTRANSID |
These data types have been deprecated. Use |
SQLROWOFFSET |
This data type has been deprecated. Use |
SQLSETPOSIROW |
On Linux and UNIX platforms: This data type has been redefined as |