General ODBC and SQL Support Levels
The FairCom ODBC Drivers available with FairCom DB V12 (including FairCom RTG V3 and FairCom Edge V3) are compliant with ODBC V3.52.
ODBC specifies general conformance levels in two areas:
- ODBC application programming interface (API). FairCom DB SQL supports all Core and Level 1 ODBC API functions, and most Level 2 functions.
- ODBC SQL syntax. FairCom DB SQL supports Extended SQL syntax.
The rest of this chapter provides more detail on that support. Specifically, it details the information the FairCom DB ODBC driver returns when applications call the following functions:
- SQLGetInfo() returns various details about the driver and its data source
- Environment, connection, and statement attribute functions return or specify attributes of driver behavior
- SQLGetFunctions() returns ODBC functions the driver supports
- SQLGetTypeInfo() returns data types the driver supports
Responses to SQLGetInfo
Applications call the SQLGetInfo() function to retrieve details about support for a specific driver and data source provided for different ODBC functionality.
Applications supply the InfoType argument to SQLGetInfo() to specify what information type they seek. SQLGetInfo() returns the information to the InfoValuePtr output argument. The following table lists each InfoType argument the ODBC Driver recognizes along with the associated value returned to SQLGetInfo(). Shaded rows indicate information types renamed or deprecated for ODBC 3.0
For more detail about the SQLGetInfo() function see the Microsoft ODBC Programmer's Reference.
Information the ODBC Driver Returns to SQLGetInfo()
Description |
InfoType Argument |
Returns |
|---|---|---|
Guaranteed execute privileges on all procedures returned by SQLProcedures |
SQL_ACCESSIBLE_PROCEDURES |
Y (guaranteed) |
Guaranteed read access to all table names returned by SQLTables |
SQL_ACCESSIBLE_TABLES |
N (not guaranteed) |
Maximum number of active connections |
SQL_ACTIVE_CONNECTIONS (Renamed for ODBC 3.0.) |
See SQL_MAX_DRIVER_CONNECTIONS |
Maximum number of active environments |
SQL_ACTIVE_ENVIRONMENTS(ODBC 3.0) |
0 (no limit) |
Maximum number of active SQL statements |
SQL_ACTIVE_STATEMENTS (Renamed for ODBC 3.0.) |
See SQL_MAX_CONCURRENT_ACTIVITIES |
Aggregate function support |
SQL_AGGREGATE_FUNCTIONS(ODBC 3.0) |
SQL_AF_ALL | |
Support for ALTER DOMAIN statement |
SQL_ALTER_DOMAIN(ODBC 3.0) |
0 (does not support) |
Support for ALTER TABLE clauses |
SQL_ALTER_TABLE |
SQL_AT_ADD_COLUMN (supports adding columns) |
Level of asynchronous mode support |
SQL_ASYNC_MODE(ODBC 3.0) |
SQL_AM_NONE (not supported) |
Behavior with respect to the availability of row counts in batches |
SQL_BATCH_ROW_COUNT (ODBC 3.0) |
0 (does not support) |
Support for batches |
SQL_BATCH_SUPPORT (ODBC 3.0) |
0 (does not support) |
Support for bookmarks |
SQL_BOOKMARK_PERSISTENCE |
0 (does not support) |
Position of qualifier in a qualified table name |
SQL_CATALOG_LOCATION(Renamed for ODBC 3.0. Was SQL_QUALIFIER_LOCATION) |
0 (does not support)
|
Support for catalog names |
SQL_CATALOG_NAME(ODBC 3.0) |
N (does not support) |
Character used to separate table, column qualifiers |
SQL_CATALOG_NAME_SEPARATOR(Renamed for ODBC 3.0. Was SQL_QUALIFIER_NAME_SEPARATOR) |
“ ” |
Name for a catalog |
SQL_CATALOG_TERM(Renamed for ODBC 3.0. Was SQL_QUALIFIER_TERM) |
“ ”(does not support) |
Statements that support catalog names |
SQL_CATALOG_USAGE(Renamed for ODBC 3.0. Was SQL_QUALIFIER_USAGE) |
0 (does not support) |
Default collation sequence name for the default character set |
SQL_COLLATION_SEQ(ODBC 3.0) |
“ ” (unknown) |
Support for column aliases |
SQL_COLUMN_ALIAS |
Y (supports) |
Result of concatenation of NULL character column with non-NULL column |
SQL_CONCAT_NULL_BEHAVIOR |
SQL_CB_NULL (result is null) |
Conversion from BIGINT |
SQL_CONVERT_BIGINT |
SQL_CVT_BIGINT | |
Conversion from BINARY |
SQL_CONVERT_BINARY |
0 (does not support) |
Conversion from BIT |
SQL_CONVERT_BIT |
0 (does not support) |
Conversion from CHAR |
SQL_CONVERT_CHAR |
SQL_CVT_BIGINT | |
Conversion from DATE |
SQL_CONVERT_DATE |
SQL_CVT_CHAR | |
Conversion from DECIMAL |
SQL_CONVERT_DECIMAL |
SQL_CVT_BIGINT | |
Conversion from DOUBLE |
SQL_CONVERT_DOUBLE |
SQL_CVT_BIGINT | |
Conversion from FLOAT |
SQL_CONVERT_FLOAT |
SQL_CVT_BIGINT | |
Support for conversion functions |
SQL_CONVERT_FUNCTIONS |
SQL_FN_CVT_CONVERT (supports) |
Conversion from INTEGER |
SQL_CONVERT_INTEGER |
SQL_CVT_BIGINT | |
Conversion from INTERVAL_DAY_TIME |
SQL_CONVERT_INTERVAL_DAY_TIME(ODBC 3.0) |
0 (does not support) |
Conversion from INTERVAL_YEAR_MONTH |
SQL_CONVERT_INTERVAL_YEAR_MONTH(ODBC 3.0) |
0 (does not support) |
Conversion from LONGVARBINARY |
SQL_CONVERT_LONGVARBINARY |
0 (does not support) |
Conversion from LONGVARCHAR |
SQL_CONVERT_LONGVARCHAR |
0 (does not support) |
Conversion from NUMERIC |
SQL_CONVERT_NUMERIC |
SQL_CVT_BIGINT | |
Conversion from REAL |
SQL_CONVERT_REAL |
SQL_CVT_BIGINT | |
Conversion from SMALLINT |
SQL_CONVERT_SMALLINT |
SQL_CVT_BIGINT | |
Conversion from TIME |
SQL_CONVERT_TIME |
SQL_CVT_CHAR | |
Conversion from TIMESTAMP |
SQL_CONVERT_TIMESTAMP |
SQL_CVT_CHAR | |
Conversion from TINYINT |
SQL_CONVERT_TINYINT |
SQL_CVT_BIGINT | |
Conversion from VARBINARY |
SQL_CONVERT_VARBINARY |
0 (does not support) |
Conversion from VARCHAR |
SQL_CONVERT_VARCHAR |
SQL_CVT_BIGINT | |
Conversion from WCHAR |
SQL_CONVERT_WCHAR |
SQL_CVT_BIGINT | |
Conversion from WLONGVARCHAR |
SQL_CONVERT_WLONGVARCHAR |
0 (does not support) |
Conversion from WVARCHAR |
SQL_CONVERT_WVARCHAR |
SQL_CVT_BIGINT | |
Support for table correlation names |
SQL_CORRELATION_NAME |
SQL_CN_ANY |
Support for CREATE ASSERTION statement |
SQL_CREATE_ASSERTION(ODBC 3.0) |
0 (does not support) |
Support for CREATE CHARACTER SET statement |
SQL_CREATE_CHARACTER_SET(ODBC 3.0) |
0 (does not support) |
Support for CREATE COLLATION statement |
SQL_CREATE_COLLATION(ODBC 3.0) |
0 (does not support) |
Support for CREATE DOMAIN statement |
SQL_CREATE_DOMAIN(ODBC 3.0) |
0 (does not support) |
Support for CREATE SCHEMA statement |
SQL_CREATE_SCHEMA(ODBC 3.0) |
0 (does not support) |
Support for CREATE TABLE statement |
SQL_CREATE_TABLE(ODBC 3.0) |
SQL_CT_CREATE_TABLE | SQL_CT_COMMIT_DELETE | SQL_CT_COLUMN_CONSTRAINT | SQL_CT_TABLE_CONSTRAINT (supports CREATE TABLE, deleted rows are deleted on commit, supports column constraints and table constraints) |
Support for CREATE TRANSLATION statement |
SQL_CREATE_TRANSLATION(ODBC 3.0) |
0 (does not support) |
Support for CREATE VIEW statement |
SQL_CREATE_VIEW(ODBC 3.0) |
SQL_CV_CREATE_VIEW | SQL_CV_CHECK_OPTION (supports CREATE VIEW, CHECK OPTION clause) |
Effect of COMMIT operation on cursors and prepared statements |
SQL_CURSOR_COMMIT_BEHAVIOR |
SQL_CB_CLOSE (closes cursors but statements remain in prepared state) |
Effect of ROLLBACK operation on cursors and prepared statements |
SQL_CURSOR_ROLLBACK_BEHAVIOR |
SQL_CB_CLOSE (closes cursors but statements remain in prepared state) |
Support for cursor sensitivity |
SQL_CURSOR_SENSITIVITY(ODBC 3.0) |
SQL_INSENSITIVE (all cursors on the statement handle show the result set without reflecting any changes made to it by any other cursor within the same transaction) |
Name of the data source as specified to the ODBC Administrator |
SQL_DATA_SOURCE_NAME |
(string containing the name) |
Access limited to read-only |
SQL_DATA_SOURCE_READ_ONLY |
N (read-write access) |
Name of the c-treeSQL data source on the server system |
SQL_DATABASE_NAME |
(string containing the name) |
Support for date-time literals |
SQL_DATETIME_LITERALS(ODBC 3.0) |
0 (does not support) |
Name of the database product supporting the data source |
SQL_DBMS_NAME |
FairCom DB SQL |
Version of the database product |
SQL_DBMS_VER |
14.00.00.0000 |
Support for creation and dropping of indexes |
SQL_DDL_INDEX(ODBC 3.0) |
SQL_DI_CREATE_INDEX | SQL_DI_DROP_INDEX (supports) |
Default transaction isolation level |
SQL_DEFAULT_TXN_ISOLATION |
SQL_TXN_SERIALIZABLE |
Support for describing parameters via DESCRIBE INPUT statement |
SQL_DESCRIBE_PARAMETER(ODBC 3.0) |
Y (supports) |
Name of the dynamic link library file for the ODBC Driver |
SQL_DRIVER_NAME |
DHODBC.DLL |
Supported ODBC version |
SQL_DRIVER_ODBC_VER |
03.52 |
Current Version of the ODBC Driver |
SQL_DRIVER_VER |
14.00.00.0000 |
Support for DROP ASSERTION statement |
SQL_DROP_ASSERTION(ODBC 3.0) |
0 (does not support) |
Support for DROP CHARACTER SET statement |
SQL_DROP_CHARACTER_SET(ODBC 3.0) |
0 (does not support) |
Support for DROP COLLATION statement |
SQL_DROP_COLLATION(ODBC 3.0) |
0 (does not support) |
Support for DROP DOMAIN statement |
SQL_DROP_DOMAIN(ODBC 3.0) |
0 (does not support) |
Support for DROP SCHEMA statement |
SQL_DROP_SCHEMA(ODBC 3.0) |
0 (does not support) |
Support for DROP TABLE statement |
SQL_DROP_TABLE(ODBC 3.0) |
SQL_DT_DROP_TABLE (supports) |
Support for DROP TRANSLATION statement |
SQL_DROP_TRANSLATION(ODBC 3.0) |
0 (does not support) |
Support for DROP VIEW statement |
SQL_DROP_VIEW(ODBC 3.0) |
SQL_DV_DROP_VIEW (supports) |
Supported attributes of a dynamic cursor: subset 1 |
SQL_DYNAMIC_CURSOR_ATTRIBUTES1(ODBC 3.0) |
0 (does not support dynamic cursors) |
Supported attributes of a dynamic cursor: subset 2 |
SQL_DYNAMIC_CURSOR_ATTRIBUTES2(ODBC 3.0) |
SQL_CA2_READ_ONLY_CONCURRENCY |
Support for expressions in ORDER BY clause |
SQL_EXPRESSIONS_IN_ORDERBY |
Y (supports) |
Direction that FETCH operations can support |
SQL_FETCH_DIRECTION(Deprecated in ODBC 3.0.) |
SQL_FD_FETCH_NEXT (fetch next row only) |
Single-tier driver behavior |
SQL_FILE_USAGE |
SQL_FILE_NOT_SUPPORTED (not a single-tier driver) |
Supported attributes of a forward-only cursor: subset 1 |
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1(ODBC 3.0) |
SQL_CA1_NEXT (supports SQL_FETCH_NEXT argument to SQLFetchScroll for forward-only cursors) |
Supported attributes of a forward-only cursor: subset 2 |
SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2(ODBC 3.0) |
SQL_CA2_READ_ONLY_CONCURRENCY SQL_CA2_MAX_ROWS_SELECT SQL_CA2_CRC_EXACT |
Supported extensions to SQLGetData |
SQL_GETDATA_EXTENSIONS |
0 (does not support) |
Relationship between GROUP BY clause and columns in the select list |
SQL_GROUP_BY |
SQL_GB_GROUP_BY_CONTAINS_SELECT (GROUP BY clause must contain all non-aggregated columns in select list) |
Case-sensitivity of user-supplied names |
SQL_IDENTIFIER_CASE |
SQL_IC_UPPER (Identifiers in SQL are not case-sensitive and are stored in uppercase in system catalog). SQL_IC_LOWER (Identifiers in SQL are not case-sensitive and are stored in lowercase in system catalog) |
Character used to enclose delimited identifiers |
SQL_IDENTIFIER_QUOTE_CHAR |
“” (double quotation mark) |
Supported views in INFORMATION_SCHEMA |
SQL_INFO_SCHEMA_VIEWS(ODBC 3.0) |
0 (does not support) |
Support for INSERT statement |
SQL_INSERT_STATEMENT(ODBC 3.0) |
SQL_IS_INSERT_LITERALS | SQL_IS_SELECT_INTO |
Referential integrity syntax support |
SQL_INTEGRITY(Renamed for ODBC 3.0. Was SQL_ODBC_SQL_OPT_IEF) |
Y (supports referential integrity syntax) |
Supported attributes of a keyset cursor: subset 1 |
SQL_KEYSET_CURSOR_ATTRIBUTES1(ODBC 3.0) |
0 (does not support keyset cursors) |
Supported attributes of a keyset cursor: subset 2 |
SQL_KEYSET_CURSOR_ATTRIBUTES2(ODBC 3.0) |
0 (does not support keyset cursors) |
Data-source specific keywords |
SQL_KEYWORDS |
acos, add_month, after, an, array, ascii, asin, atan, atan2, before,begin, bigint, binary, bind, binding, call, ceiling, chartorowid, chr, cleanup, clustered, colgroup, complex, compress, concat, contains, cos, cot, curdate, current_date, current_user, curtime, cvar, database, datapages, dateadd, datediff, dayname, dayofmonth, dayofweek, dayofyear, db_name, dba, declaration, decode, definition, degrees, dhtype, difference, each, exclsive, exit, exp, explicit, extract, field, file, floor, go, goto, grant, greatest, identified, ifnull, indexpages, initcap, inout, instr, interface, isnull, lastday, lcase, leading, least, length, link, list, localtime, localtimestamp, locate, lock, log, log10, long, lpad, ltrim, lvarbinary, lvarchar, main, metadata_only, minus, mod, mode, moify, money, monthename, months_between, newrow, next_day, nocompress, now, nowait, nullvalue, number, nvl, object_id, octet_length, odbc_convert, odbcinfo, oldrow, out, overlay, pctfree, pi, placing, position, power, prefix, quarter, radians, rand, range, raw, referencing, rename, repeat, replace, resource, row, rowid, rowidtochar, rpad, rtrim, rownum |
|
|
searched_case, second, sevice, session_user, share, short, sign, simple_case, sin, sodex, sql_bigint, sql_binary, sql_bit, sql_char, sql_date, sql_decimal, sql_double, sql_float, sql_integer, sql_longvarbinary, sql_longvarchar, sql_numeric, sql_real, sql_smallint, sql_time, sql_timestamp, sql_tinyint, 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, sql_varbinary, sql_varchar, sqrt, start, statement, statitics, stop, storage_attributes, storage_manager, store_in_dharma, substr, suffix, suser_name, synonym, sysdate, systime, systimestamp, tan, timeout, timestampadd, timestampdiff, tinyint, to_char, to_date, to_number, to_time, to_timestamp, tpe, trailing, trigger, trim, truncate, type, ucase, uid, unsigned, user_id, user_name, uuid, varbinary, variables, version, week |
Support for escape clause in LIKE predicates |
SQL_LIKE_ESCAPE_CLAUSE |
Y (supports) |
Supported lock types |
SQL_LOCK_TYPES(Deprecated in ODBC 3.0.) |
0 (does not support) |
Maximum number of active concurrent statements in asynchronous mode |
SQL_MAX_ASYNC_CONCURRENT_STATEMENTS(ODBC 3.0) |
1 |
Maximum length in hexadecimal characters of binary literals |
SQL_MAX_BINARY_LITERAL_LEN |
8192 |
Maximum length of a table or column qualifier |
SQL_MAX_CATALOG_NAME_LEN(Renamed for ODBC 3.0. Was SQL_MAX_QUALIFIER_NAME_LEN) |
0 (does not support) |
Maximum length in characters of character string literals |
SQL_MAX_CHAR_LITERAL_LEN |
8192 |
Maximum length of a column name |
SQL_MAX_COLUMN_NAME_LEN |
64 |
Maximum number of columns allowed in GROUP BY clause |
SQL_MAX_COLUMNS_IN_GROUP_BY |
0 (no limit) |
Maximum number of columns allowed in an index |
SQL_MAX_COLUMNS_IN_INDEX |
100 |
Maximum number of columns allowed in ORDER BY clause |
SQL_MAX_COLUMNS_IN_ORDER_BY |
0 (no limit) |
Maximum number of columns allowed in a select list |
SQL_MAX_COLUMNS_IN_SELECT |
0 (no limit) |
Maximum number of columns allowed in a table |
SQL_MAX_COLUMNS_IN_TABLE |
2000 |
Maximum number of active SQL statements |
SQL_MAX_CONCURRENT_ACTIVITIES(Renamed for ODBC 3.0. Was SQL_ACTIVE_STATEMENTS) |
0 (no maximum) |
Maximum length of a cursor name |
SQL_MAX_CURSOR_NAME_LEN |
64 |
Maximum number of active connections |
SQL_MAX_DRIVER_CONNECTIONS(Renamed for ODBC 3.0. Was SQL_ACTIVE_CONNECTIONS) |
0 |
Maximum length of user-defined names |
SQL_MAX_IDENTIFIER_LEN(ODBC 3.0) |
64 |
Maximum number of bytes allowed in the combined fields of an index |
SQL_MAX_INDEX_SIZE |
0 (no limit) |
Maximum length of an owner name |
SQL_MAX_OWNER_NAME_LEN(Renamed for ODBC 3.0.) |
See SQL_MAX_SCHEMA_NAME_LEN |
Maximum length of a procedure name |
SQL_MAX_PROCEDURE_NAME_LEN |
64 |
Maximum length of a table or column qualifier |
SQL_MAX_QUALIFIER_NAME_LEN(Renamed for ODBC 3.0.) |
See SQL_MAX_CATALOG_NAME_LEN |
Maximum length in bytes of a table row |
SQL_MAX_ROW_SIZE |
0 (no limit) |
Whether maximum row size includes LONGVARCHAR and LONGVARBINARY |
SQL_MAX_ROW_SIZE_INCLUDES_LONG |
N |
Maximum length of an owner name |
SQL_MAX_SCHEMA_NAME_LEN(Renamed for ODBC 3.0. Was SQL_MAX_OWNER_NAME_LEN) |
64 |
Maximum number of characters in a SQL statement |
SQL_MAX_STATEMENT_LEN |
Limited by available memory (<2Gb) |
Maximum length of a table name |
SQL_MAX_TABLE_NAME_LEN |
64 |
Maximum number of tables allowed in FROM clause |
SQL_MAX_TABLES_IN_SELECT |
250 |
Maximum length of a user name |
SQL_MAX_USER_NAME_LEN |
64 |
Support for multiple result sets |
SQL_MULT_RESULT_SETS |
N (does not support) |
Support for active transactions on multiple connections |
SQL_MULTIPLE_ACTIVE_TXN |
N |
Whether data source requires length of LONGVARCHAR and LONGVARBINARY data |
SQL_NEED_LONG_DATA_LEN |
N |
Support for NOT NULL clause in CREATE TABLE statement |
SQL_NON_NULLABLE_COLUMNS |
SQL_NNC_NON_NULL (supports) |
Where null values are sorted in a list |
SQL_NULL_COLLATION |
SQL_NC_LOW (sorted at the low end of the list) |
Numeric functions supported |
SQL_NUMERIC_FUNCTIONS |
SQL_FN_NUM_ABS | |
ODBC API conformance level |
SQL_ODBC_API_CONFORMANCE(Deprecated in ODBC 3.0.) |
SQL_OAC_LEVEL1 (supports level 1) |
SQL Access Group (SAG) conformance |
SQL_ODBC_SAG_CLI_CONFORMANCE |
SQL_OSCC_COMPLIANT (complies with SAG CLI specification) |
ODBC SQL syntax conformance |
SQL_ODBC_SQL_CONFORMANCE(Deprecated in ODBC 3.0.) |
SQL_OSC_EXTENDED (supports extended SQL syntax as defined by ODBC) |
Referential integrity syntax support |
SQL_ODBC_SQL_OPT_IEF(Renamed for ODBC 3.0.) |
See SQL_INTEGRITY |
ODBC version supported by driver manager |
SQL_ODBC_VER |
Returned by ODBC driver manager |
Whether columns in ORDER BY clause must also be in select list |
SQL_ORDER_BY_COLUMNS_IN_SELECT |
N |
Support for outer joins |
SQL_OUTER_JOINS |
Y (supports) |
Term for entity that has owner privileges on objects |
SQL_OWNER_TERM(Renamed for ODBC 3.0.) |
See SQL_SCHEMA_TERM |
Statements that support use of owner qualifiers |
SQL_OWNER_USAGE(Renamed for ODBC 3.0.) |
See SQL_SCHEMA_USAGE |
Characteristics of row counts available in a parameterized execution |
SQL_PARAM_ARRAY_ROW_COUNTS(ODBC 3.0) |
SQL_PARC_NO_BATCH (only one row count available, which is the cumulative row count resulting from the execution of the statement for the entire array of parameters) |
Characteristics of result sets available in a parameterized execution |
SQL_PARAM_ARRAY_SELECTS(ODBC 3.0) |
SQL_PAS_NO_SELECT |
Supported operations in SQLSetPos |
SQL_POS_OPERATION(Deprecated in ODBC 3.0.) |
0 (does not support SQLSetPos) |
Statements that support positioned operations |
SQL_POSITIONED_STATEMENTS(Deprecated in ODBC 3.0.) |
SQL_PS_POSITIONED_DELETE | SQL_PS_POSITIONED_UPDATE | SQL_PS_SELECT_FOR_UPDATE |
Term for procedures |
SQL_PROCEDURE_TERM |
procedure |
SQL procedures support |
SQL_PROCEDURES |
Y (supports SQL procedures) |
Position of qualifier in a qualified table name |
SQL_QUALIFIER_LOCATION(Renamed for ODBC 3.0.) |
See SQL_CATALOG_LOCATION |
Character used to separate table, column qualifiers |
SQL_QUALIFIER_NAME_SEPARATOR(Renamed for ODBC 3.0.) |
See SQL_CATALOG_NAME_SEPARATOR |
Term for object that qualifies table names |
SQL_QUALIFIER_TERM(Renamed for ODBC 3.0.) |
See SQL_CATALOG_TERM |
Statements that support qualifiers |
SQL_QUALIFIER_USAGE(Renamed for ODBC 3.0.) |
See SQL_CATALOG_USAGE |
Case-sensitivity of quoted user-supplied names |
SQL_QUOTED_IDENTIFIER_CASE |
SQL_IC_SENSITIVE (Quoted identifiers in SQL are case-sensitive and are stored in mixed case in the system catalog). SQL_IC_LOWER (Quoted identifiers in SQL are not case-sensitive and are stored in lowercase in the system catalog). |
Detect changes to any row in mixed-cursor operations |
SQL_ROW_UPDATES |
N |
Term for entity that has owner privileges on objects |
SQL_SCHEMA_TERM(Renamed for ODBC 3.0. Was SQL_OWNER_TERM) |
owner |
Statements that support use of owner qualifiers |
SQL_SCHEMA_USAGE(Renamed for ODBC 3.0. Was SQL_OWNER_USAGE) |
SQL_OU_DML_STATEMENTS | |
Concurrency control options supported for scrollable cursors |
SQL_SCROLL_CONCURRENCY(Deprecated in ODBC 3.0.) |
SQL_SCCO_READ_ONLY |
Options supported for scrollable cursors |
SQL_SCROLL_OPTIONS |
SQL_SO_FORWARD_ONLY |
Character to permit wildcard characters in search strings |
SQL_SEARCH_PATTERN_ESCAPE |
\ (backslash) |
Name of the system where the c-treeSQL data source resides |
SQL_SERVER_NAME |
(string containing the name) |
Special characters allowed in user-supplied names |
SQL_SPECIAL_CHARACTERS |
“ ” |
Level of SQL-92 support |
SQL_SQL_CONFORMANCE(ODBC 3.0) |
SQL_SC_SQL92_ENTRY (entry level SQL-92 compliant) |
Datetime scalar functions supported |
SQL_SQL92_DATETIME_FUNCTIONS(ODBC 3.0) |
SQL_SDF_CURRENT_DATE | SQL_SDF_CURRENT_TIME | |
Behavior of DELETE statement that refers to a foreign key |
SQL_SQL92_FOREIGN_KEY_DELETE_RULE(ODBC 3.0) |
0 (not supported) |
Behavior of UPDATE statement that refers to a foreign key |
SQL_SQL92_FOREIGN_KEY_UPDATE_RULE(ODBC 3.0) |
0 (not supported) |
GRANT statement clauses supported |
SQL_SQL92_GRANT(ODBC 3.0) |
SQL_SG_DELETE_TABLE | SQL_SG_INSERT_TABLE | SQL_SG_INSERT_COLUMN | SQL_SG_REFERENCES_TABLE | SQL_SG_REFERENCES_COLUMN | SQL_SG_SELECT_TABLE | SQL_SG_UPDATE_TABLE | SQL_SG_UPDATE_COLUMN |
Numeric scalar functions supported |
SQL_SQL92_NUMERIC_VALUE_FUNCTIONS(ODBC 3.0) |
SQL_SNVF_CHAR_LENGTH | SQL_SNVF_CHARACTER_LENGTH |
Predicates supported |
SQL_SQL92_PREDICATES(ODBC 3.0) |
SP_EXISTS | |
Relational join operators supported |
SQL_SQL92_RELATIONAL_JOIN_OPERATORS(ODBC 3.0) |
0 (not supported) |
REVOKE statement clauses supported |
SQL_SQL92_REVOKE(ODBC 3.0) |
SQL_SR_GRANT_OPTION_FOR | |
Row value constructor expressions supported |
SQL_SQL92_ROW_VALUE_CONSTRUCTOR(ODBC 3.0) |
0 (does not support) |
String scalar functions supported |
SQL_SQL92_STRING_FUNCTIONS(ODBC 3.0) |
SQL_SSF_CONVERT | |
Value expressions supported |
SQL_SQL92_VALUE_EXPRESSIONS(ODBC 3.0) |
SQL_SVE_COALESCE | |
CLI standards to which the driver conforms |
SQL_STANDARD_CLI_CONFORMANCE(ODBC 3.0) |
SQL_SCC_XOPEN_CLI_VERSION1 (conforms to X/Open CLI version 1) |
Supported attributes of a static cursor: subset 1 |
SQL_STATIC_CURSOR_ATTRIBUTES1(ODBC 3.0) |
SQL_CA1_NEXT (supports SQL_FETCH_NEXT argument to SQLFetchScroll for static cursors) |
Supported attributes of a static cursor: subset 2 |
SQL_STATIC_CURSOR_ATTRIBUTES2(ODBC 3.0) |
0 (does not support any attributes in the subset)) |
Whether static cursor changes are detectable |
SQL_STATIC_SENSITIVITY(Deprecated in ODBC 3.0.) |
0 (does not support static cursors) |
String functions supported |
SQL_STRING_FUNCTIONS |
SQL_FN_STR_ASCII | |
Predicates that support subqueries |
SQL_SUBQUERIES |
SQL_SQ_CORRELATED_SUBQUERIES | |
System functions supported |
SQL_SYSTEM_FUNCTIONS |
SQL_FN_SYS_DBNAME | |
Term for tables |
SQL_TABLE_TERM |
Table |
Timestamp intervals supported for TIMESTAMPADD function |
SQL_TIMEDATE_ADD_INTERVALS |
SQL_TSI_FRAC_SECOND | |
Timestamp intervals supported for TIMESTAMPDIFF function |
SQL_TIMEDATE_DIFF_INTERVALS |
SQL_TSI_FRAC_SECOND | |
Date-time functions supported |
SQL_TIMEDATE_FUNCTIONS |
SQL_FN_TD_CURDATE | |
Support for DML, DDL within transactions |
SQL_TXN_CAPABLE |
SQL_TC_ALL (supports both DML and DDL) |
Options for setting transaction isolation levels |
SQL_TXN_ISOLATION_OPTION |
SQL_TXN_READ_UNCOMMITTED | SQL_TXN_READ_COMMITTED | SQL_TXN_REPEATABLE_READ | SQL_TXN_SERIALIZABLE |
UNION support |
SQL_UNION |
SQL_U_UNION | SQL_U_UNION_ALL |
Name of user connected to the data source |
SQL_USER_NAME |
(string containing the name) |
A character string that indicates the year of publication of the X/Open specification with which the version of the ODBC Driver Manager fully complies. |
SQL_XOPEN_CLI_YEAR |
1995 |
Supported Environment, Connection, and Statement Attributes
The following table details the driver attributes that the FairCom DB ODBC Driver supports. Applications can set and retrieve supported driver attributes through the following routines:
- SQLGetEnvAttr() and SQLSetEnvAttr() for environment attributes
- SQLGetConnectAttr() and SQLSetConnectAttr() for connection attributes
- SQLGetStmtAttr() and SQLSetStmtAttr() for statement attributes
Supported Environment, Connection, and Statement Attributes
Attribute |
Supported |
|---|---|
ODBC Environment Attributes |
|
SQL_ATTR_CONNECTION_POOLING |
No |
SQL_ATTR_CP_MATCH |
No |
SQL_ATTR_ODBC_VER |
Yes |
SQL_ATTR_OUTPUT_NTS |
Yes |
ODBC Connection Attributes |
|
SQL_ATTR_ACCESS_MODE |
Yes (supports both read_only and read_write connection modes) |
SQL_ATTR_ASYNC_ENABLE |
Yes (supports only SQL_ASYNC_ENABLE_OFF, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_AUTO_IPD |
Yes |
SQL_ATTR_AUTOCOMMIT |
Yes |
SQL_ATTR_CONNECTION_TIMEOUT |
Yes (supports only 0, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_CURRENT_CATALOG |
No |
SQL_ATTR_LOGIN_TIMEOUT |
Yes The default value is 15 seconds. |
SQL_ATTR_ODBC_CURSORS |
Yes |
SQL_ATTR_PACKET_SIZE |
Yes (supports only default, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_QUIET_MODE |
Yes (supports only default, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_TRACE |
No |
SQL_ATTR_TRACEFILE |
No |
SQL_ATTR_TRANSLATE_DLL |
No |
SQL_ATTR_TRANSLATE_LIB |
No |
SQL_ATTR_TRANSLATE_OPTION |
No |
SQL_ATTR_TXN_ISOLATION |
Yes |
ODBC Statement Attributes |
|
SQL_ATTR_APP_PARAM_DESC |
Yes |
SQL_ATTR_APP_ROW_DESC |
Yes |
SQL_ATTR_ASYNC_ENABLE |
Yes (supports only SQL_ASYNC_ENABLE_OFF, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_CONCURRENCY |
Yes (supports only SQL_CONCUR_READ_ONLY, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_CURSOR_SCROLLABLE |
Yes |
SQL_ATTR_CURSOR_TYPE |
Yes (supports only SQL_FORWARD_ONLY, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_CURSOR_SENSITIVITY |
Yes (supports only SQL_INSENSITIVE, for other values returns warning “Option value changed” and sets to default) |
SQL_ATTR_ENABLE_AUTO_IPD |
No |
SQL_ATTR_FETCH_BOOKMARK_PTR |
No |
SQL_ATTR_IMP_PARAM_DESC |
Yes |
SQL_ATTR_IMP_ROW_DESC |
Yes |
SQL_ATTR_KEYSET_SIZE |
No |
SQL_ATTR_MAX_LENGTH |
No |
SQL_ATTR_MAX_ROWS |
Yes (Supported both as statement attribute and connection attribute. If it is used as a connection attribute, it will override the statement attribute.) |
SQL_ATTR_METADATA_ID |
Yes |
SQL_ATTR_NOSCAN |
No |
SQL_ATTR_PARAM_BIND_OFFSET_PTR |
Yes |
SQL_ATTR_PARAM_BIND_TYPE |
Yes |
SQL_ATTR_PARAM_OPERATION_PTR |
Yes |
SQL_ATTR_PARAM_STATUS_PTR |
Yes |
SQL_ATTR_PARAMS_PROCESSED_PTR |
Yes |
SQL_ATTR_PARAMSET_SIZE |
Yes |
SQL_ATTR_QUERY_TIMEOUT |
Yes (defaults to 30 sec) |
SQL_ATTR_RETRIEVE_DATA |
Yes |
SQL_ATTR_ROW_ARRAY_SIZE |
Yes |
SQL_ATTR_ROW_BIND_OFFSET_PTR |
Yes |
SQL_ATTR_ROW_BIND_TYPE |
Yes |
SQL_ATTR_ROW_NUMBER |
No |
SQL_ATTR_ROW_OPERATION_PTR |
Yes |
SQL_ATTR_ROW_STATUS_PTR |
Yes |
SQL_ATTR_ROWS_FETCHED_PTR |
Yes |
SQL_ATTR_SIMULATE_CURSOR |
No |
SQL_ATTR_USE_BOOKMARKS |
No |
Supported Functions
The c-treeSQL ODBC Driver supports all Core and Level 1 API functions, and most Level 2 functions. Here is a complete list of the functions the driver supports. Applications can request this same information through the SQLGetFunctions() function with a FunctionId of SQL_API_ODBC3_ALL_FUNCTIONS.
SQLAllocConnect()
(Deprecated in ODBC 3.0)
SQLAllocEnv()
(Deprecated in ODBC 3.0)
SQLAllocHandle()
SQLAllocStmt()
(Deprecated in ODBC 3.0)
SQLBindCol()
SQLBindParam()
(Deprecated in ODBC 3.0)
SQLBindParameter()
Binds a buffer to a parameter marker in a SQL statement. SQLBindParameter() has 10 parameters. Parameter 4 and 5 change the way the date field is handled with reference to TPE_DFLT_DATE.
- ValueType [Input] The C date type of the parameter
- ParameterType [Input] The SQL data type of the parameter
When date is specified using a character string by setting ValueType to SQL_C_CHAR, the C data type of the parameter, the date formats supported are as follows:
When ParameterType is set to SQL_CHAR and TPE_DFLT_DATE is set to ISO_DFLT_DATE, the date formats supported is only YYYY-MM-DD and also the same format with ‘/’ as separator.
When ParameterType is set to SQL_TYPE_DATE and TPE_DFLT_DATE is set to ISO_DFLT_DATE, the date formats supported are MM-DD-YYYY, YYYY-MM-DD and DD-MON-YYYY and also the same formats with ‘/’ as the separator.
SQLBrowseConnect()
SQLCancel()
SQLCloseCursor()
SQLColAttribute()
SQLColAttributes()
(Deprecated in ODBC 3.0)
SQLColumnPrivileges()
SQLColumnPrivileges()
(Deprecated in ODBC 3.0)
SQLColumns()
SQLConnect()
SQLCopyDesc()
SQLDataSources()
SQLDescribeCol()
SQLDescribeParam()
SQLDisconnect()
SQLDriverConnect()
SQLDrivers()
SQLEndTran()
SQLError()
(Deprecated in ODBC 3.0)
SQLExecDirect()
SQLExecute()
SQLExtendedFetch()
(Deprecated in ODBC 3.0)
SQLFetch()
SQLFetchScroll()
SQLForeignKeys()
SQLFreeConnect()
(Deprecated in ODBC 3.0)
SQLFreeEnv()
(Deprecated in ODBC 3.0)
SQLFreeHandle()
SQLFreeStmt()
(Deprecated in ODBC 3.0)
SQLGetConnectAttr()
SQLGetConnectOption()
(Deprecated in ODBC 3.0)
SQLGetCursorName()
SQLGetData()
SQLGetDescField()
SQLGetDescRec()
SQLGetDiagField()
SQLGetDiagRec()
SQLGetEnvAttr()
SQLGetFunctions()
SQLGetInfo()
SQLGetStmtAttr()
SQLGetStmtOption()
(Deprecated in ODBC 3.0)
SQLGetTypeInfo()
SQLMoreResults()
SQLNativeSqlW()
SQLNumParams()
SQLNumResultCols()
SQLParamData()
SQLParamOptions()
(Deprecated in ODBC 3.0)
SQLPrepare()
SQLPrimaryKeys()
SQLProcedureColumns()
SQLProcedures()
SQLPutData()
SQLRowCount()
SQLSetConnectAttr()
SQLSetConnectOption()
(Deprecated in ODBC 3.0)
SQLSetCursorName()
SQLSetDescField()
SQLSetDescRec()
SQLSetEnvAttr()
SQLSetParam()
(Deprecated in ODBC 3.0)
SQLSetScrollOptions()
SQLSetStmtAttr()
SQLSetStmtOption()
(Deprecated in ODBC 3.0)
SQLSpecialColumns()
SQLStatistics()
SQLTablePrivileges()
SQLTables()
SQLTransact()
(Deprecated in ODBC 3.0)
Supported Data Types
FairCom DB SQL supports a set of data types that the FairCom DB ODBC Driver maps to corresponding ODBC SQL data types. The following table lists the FairCom DB SQL data types and the corresponding ODBC data types.
c-treeSQL ODBC and Corresponding ODBC Data Types
FairCom DB ODBC Data Type |
ODBC Data Type |
|---|---|
BIGINT |
SQL_BIGINT |
BINARY |
SQL_BINARY |
BIT |
SQL_BIT |
CHAR or CHARACTER |
SQL_CHAR |
DATE |
SQL_DATE |
DECIMAL |
SQL_DECIMAL |
DOUBLE PRECISION |
SQL_DOUBLE |
FLOAT |
SQL_FLOAT |
INTEGER |
SQL_INTEGER |
LVARBINARY |
SQL_LONGVARBINARY |
LVARCHAR |
SQL_LONGVARCHAR |
MONEY |
SQL_NUMERIC |
NUMERIC |
SQL_NUMERIC |
REAL |
SQL_REAL |
SMALLINT |
SQL_SMALLINT |
TIME |
SQL_TIME |
TIMESTAMP |
SQL_TIMESTAMP |
TINYINT |
SQL_TINYINT |
VARBINARY |
SQL_VARBINARY |
VARCHAR |
SQL_VARCHAR |
Thread Safety of FairCom DB ODBC Driver
By default, the FairCom DB ODBC Driver is thread-safe. However, this may not always be desired as it involves overhead on the performance of the system. Single threaded ODBC applications do not require thread safety as only one thread is involved.
To disable the thread safety feature, the following runtime flag is used:
DH_DISABLE_ODBC_THREAD_SAFETY
This flag must be set in dhsql.ini for FairCom DB SQL on Windows NT. In Unix, it will be an environment variable in the setup file.
By default, the thread safety feature is enabled. To disable this feature, set:
DH_DISABLE_ODBC_THREAD_SAFETY = Y
ODBC Error Messages
General SQL error messages are documented on-line in the Error Code Reference. Aside from the SQL error messages, there is another known error that may occur when using FairCom DB ODBC Driver with Crystal Reports. This error may occur when generating reports that require a left outer join between tables. The cause of this error is due to the syntax used by Crystal Reports when creating the SQL statement. Users can specify the proper syntax to use by changing a key in the Windows registry. For more information about how to change the registry, please refer to this document: How to Resolve the Join Syntax Errors in Crystal Reports 9. Or search the SAP Community Network for: Crystal left outer registry.
ODBC Driver-Specific Errors
Driver-specific errors are listed on-line in the Error Code Reference.