Except for binary, OpenDB supports most data types. Since OpenDB uses the ODBC API to retrieve data from an ODBC database, the table below is in terms of ODBC data types. To determine whether a column in a ODBC database can be retrieved by OpenDB, the ODBC data type that is returned by the ODBC API function SQLDescribeCol is required.
The supporting data types for a few common ODBC databases are summarized in Using Supported Data Types.
Supported ODBC Data Types | Unsupported ODBC Data Types |
---|---|
sql_bigint | sql_binary |
sql_bit | sql_interval_day |
sql_char | sql_interval_day_to_hour |
sql_date | sql_interval_day_to_minute |
sql_decimal | sql_interval_day_to_second |
sql-double | sql_interval_hour |
sql-float | sql_interval_hour_to_minute |
sql_integer | sql_interval_hour_to_second |
sql_longvarchar | sql_interval_minute |
sql_number | sql_interval_minute_to_second |
sql_real | sql_interval_month |
sql_smallint | sql_interval_second |
sql_time | sql_interval_year |
sql_timestamp | sql_interval_year_to_month |
sql_tinyint | sql_longvarbinary |
sql_unicode_char | sql_type_null |
sql_unicode_varchar | |
sql_varchar |
When creating a new Super Q-pointer, it is best to start OpenDB with the debug flag so that columns with unsupported data types are easily identified.
For most data types involving dates and time, the ODBC data type sql_timestamp is used in the conversion. Thus, when using OpenDB to enter data that involves date and time, the ODBC format must be used:
yyyy-mm-ddhh:mm:ssAt this time, a Pick-formatted date (the number of days elapsed since December 31, 1967) can not be entered into a date field. See Supported data types for information on a few common ODBC databases.
The first time a Super Q-pointer is opened, the table and column information is processed and cached by OpenDB. Since the information is cached, subsequent operations on that Super Q-pointer are typically faster.
Caching of the Super Q-pointer information does not affect the underlying data found in the ODBC database. Only information about the table and its columns, such as data type, precision and scale is cached. The data found in the table is not cached.