ODBC Conformance Notes

This chapter details the ODBC functionality that FairCom DB SQL supports through the ODBC Driver.

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 |
SQL_AF_AVG |
SQL_AF_COUNT |
SQL_AF_DISTINCT |
SQL_AF_MAX |
SQL_AF_MIN |
SQL_AF_SUM

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 |
SQL_CVT_CHAR |
SQL_CVT_TINYINT |
SQL_CVT_SMALLINT |
SQL_CVT_INTEGER |
SQL_CVT_FLOAT |
SQL_CVT_DOUBLE |
SQL_CVT_BIT |
SQL_CVT_MONEY |
SQL_CVT_NUMERIC |
SQL_CVT_VARCHAR |

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 |
SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from DATE

SQL_CONVERT_DATE

SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_TIMESTAMP |
SQL_CVT_VARCHAR |

Conversion from DECIMAL

SQL_CONVERT_DECIMAL

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT|
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from DOUBLE

SQL_CONVERT_DOUBLE

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from FLOAT

SQL_CONVERT_FLOAT

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Support for conversion functions

SQL_CONVERT_FUNCTIONS

SQL_FN_CVT_CONVERT (supports)

Conversion from INTEGER

SQL_CONVERT_INTEGER

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

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 |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from REAL

SQL_CONVERT_REAL

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from SMALLINT

SQL_CONVERT_SMALLINT

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from TIME

SQL_CONVERT_TIME

SQL_CVT_CHAR |
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_VARCHAR |

Conversion from TIMESTAMP

SQL_CONVERT_TIMESTAMP

SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_VARCHAR |

Conversion from TINYINT

SQL_CONVERT_TINYINT

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from VARBINARY

SQL_CONVERT_VARBINARY

0 (does not support)

Conversion from VARCHAR

SQL_CONVERT_VARCHAR

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT |
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_TINYINT |
SQL_CVT_VARCHAR |

Conversion from WCHAR

SQL_CONVERT_WCHAR

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT|
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_TINYINT |
SQL_CVT_WCHAR
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR

Conversion from WLONGVARCHAR

SQL_CONVERT_WLONGVARCHAR

0 (does not support)

Conversion from WVARCHAR

SQL_CONVERT_WVARCHAR

SQL_CVT_BIGINT |
SQL_CVT_CHAR |
SQL_CVT_DATE |
SQL_CVT_DECIMAL |
SQL_CVT_DOUBLE |
SQL_CVT_FLOAT |
SQL_CVT_INTEGER |
SQL_CVT_NUMERIC |
SQL_CVT_REAL |
SQL_CVT_SMALLINT|
SQL_CVT_TIME |
SQL_CVT_TIMESTAMP |
SQL_CVT_TINYINT |
SQL_CVT_WCHAR
SQL_CVT_VARCHAR |
SQL_CVT_WVARCHAR

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
SQL_CA2_MAX_ROWS_SELECT
SQL_CA2_CRC_EXACT

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 |
SQL_FN_NUM_ACOS |
SQL_FN_NUM_ASIN |
SQL_FN_NUM_ATAN |
SQL_FN_NUM_ATAN2 |
SQL_FN_NUM_CEILING |
SQL_FN_NUM_COS |
SQL_FN_NUM_DEGREES |
SQL_FN_NUM_EXP |
SQL_FN_NUM_FLOOR |
SQL_FN_NUM_LOG10 |
SQL_FN_NUM_LOG |
SQL_FN_NUM_MOD |
SQL_FN_NUM_PI |
SQL_FN_NUM_POWER |
SQL_FN_NUM_RADIANS |
SQL_FN_NUM_RAND |
SQL_FN_NUM_ROUND
SQL_FN_NUM_SIGN |
SQL_FN_NUM_SIN |
SQL_FN_NUM_SQRT |
SQL_FN_NUM_TAN (bit masks specifying support for indicated functions)
SQL_FN_NUM_TRUNCATE |SQL_FN_NUM_COT

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 |
SQL_OU_PROCEDURE_INVOCATION |
SQL_OU_TABLE_DEFINITION |
SQL_OU_INDEX_DEFINITION |
SQL_OU_PRIVILEGE_DEFINITION

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 |
SQL_SP_ISNOTNULL |
SQL_SP_ISNULL |
SQL_SP_UNIQUE |
SQL_SP_LIKE |
SQL_SP_IN |
SQL_SP_BETWEEN

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 |
SQL_SR_CASCADE |
SQL_SR_RESTRICT |
SQL_SR_DELETE_TABLE |
SQL_SR_INSERT_TABLE |
SQL_SR_INSERT_COLUMN |
SQL_SR_REFERENCES_TABLE | SQL_SR_REFERENCES_COLUMN | SQL_SR_SELECT_TABLE | SQL_SR_UPDATE_TABLE | SQL_SR_UPDATE_COLUMN

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 |
SQL_SSF_LOWER |
SQL_SSF_UPPER |
SQL_SSF_SUBSTRING |
SQL_SSF_TRANSLATE | SQL_SSF_TRIM_LEADING | SQL_SSF_TRIM_TRAILING

Value expressions supported

SQL_SQL92_VALUE_EXPRESSIONS(ODBC 3.0)

SQL_SVE_COALESCE |
SQL_SVE_NULLIF

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 |
SQL_FN_STR_LTRIM | SQL_FN_STR_RTRIM | SQL_FN_STR_CONCAT |
SQL_FN_STR_LENGTH |
SQL_FN_STR_LOCATE |
SQL_FN_STR_CHAR | QL_FN_STR_SOUNDEX |
SQL_FN_STR_CHAR_LENGTH |
SQL_FN_STR_CHARACTER_LENGTH |
SQL_FN_STR_DIFFERENCE |
SQL_FN_STR_INSERT | SQL_FN_STR_LCASE | SQL_FN_STR_LEFT |SQL_FN_STR_UCASE | SQL_FN_STR_SPACE | SQL_FN_STR_SUBSTRING |
SQL_FN_STR_REPLACE | SQL_FN_STR_REPEAT |
SQL_FN_STR_POSITION |
SQL_FN_STR_OVERLAY

Predicates that support subqueries

SQL_SUBQUERIES

SQL_SQ_CORRELATED_SUBQUERIES |
SQL_SQ_COMPARISON |
SQL_SQ_EXISTS |
SQL_SQ_IN |
SQL_SQ_QUANTIFIED

System functions supported

SQL_SYSTEM_FUNCTIONS

SQL_FN_SYS_DBNAME |
SQL_FN_SYS_IFNULL |
SQL_FN_SYS_USERNAME

Term for tables

SQL_TABLE_TERM

Table

Timestamp intervals supported for TIMESTAMPADD function

SQL_TIMEDATE_ADD_INTERVALS

SQL_TSI_FRAC_SECOND |
SQL_TSI_SECOND |
SQL_TSI_MINUTE |
SQL_TSI_HOUR |
SQL_TSI_DAY |
SQL_TSI_WEEK |
SQL_TSI_MONTH |
SQL_TSI_QUARTER |
SQL_TSI_YEAR

Timestamp intervals supported for TIMESTAMPDIFF function

SQL_TIMEDATE_DIFF_INTERVALS

SQL_TSI_FRAC_SECOND |
SQL_TSI_SECOND |
SQL_TSI_MINUTE |
SQL_TSI_HOUR |
SQL_TSI_DAY |
SQL_TSI_WEEK |
SQL_TSI_MONTH |
SQL_TSI_QUARTER |
SQL_TSI_YEAR

Date-time functions supported

SQL_TIMEDATE_FUNCTIONS

SQL_FN_TD_CURDATE |
SQL_FN_TD_CURTIME |
SQL_FN_TD_DAYNAME |
SQL_FN_TD_DAYOFMONTH |
SQL_FN_TD_DAYOFWEEK |
SQL_FN_TD_DAYOFYEAR |
SQL_FN_TD_HOUR |
SQL_FN_TD_MINUTE |
SQL_FN_TD_MONTH |
SQL_FN_TD_MONTHNAME |
SQL_FN_TD_QUARTER |
SQL_FN_TD_SECOND |
SQL_FN_TD_TIMESTAMPADD |
SQL_FN_TD_TIMESTAMPDIFF |
SQL_FN_TD_WEEK |
SQL_FN_TD_YEAR |
SQL_FN_TD_CURRENT_DATE |
SQL_FN_TD_EXTRACT

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.