skip to main content
Using the ODBC Client : Specifying ODBC Connection Attributes : WorkArounds (WA)
 

WorkArounds (WA)

Attribute

WorkArounds (WA)

Description

Turns on workarounds that allow you to take full advantage of the ODBC Client with ODBC applications requiring nonstandard or extended behavior.
IMPORTANT: Each of these options has potential side effects related to its use. An option should only be used to address the specific problem for which it was designed.
If set to 1, the ODBC driver returns 1, allowing Microsoft Access to open tables as read-write. If an ODBC driver reports to Microsoft Access 2.0 that its SQL_CURSOR_COMMIT_BEHAVIOR or SQL_CURSOR_ROLLBACK_BEHAVIOR is 0, Microsoft Access opens tables as read-only.
If set to 2, the driver reports that qualifiers are not supported. This option is provided because some applications cannot handle database qualifiers.
If set to 4, the driver detects when Visual Basic requires multiple connections to a DBMS and has the multiple ODBC connections share a single physical connection to the DBMS. For DBMSs that support only a single connection, the second attempt fails.
If set to 8, the driver returns 1. However, if an ODBC driver cannot detect the number of rows that are affected by an Insert, Update, or Delete statement, it may return -1 in SQLRowCount. Some products cannot handle this.
If set to 16, the driver returns no INDEX_QUALIFIER, allowing Microsoft Access to open the table. If an ODBC driver in SQLStatistics reports to Microsoft Access 1.1 that an INDEX_QUALIFIER contains a period, Microsoft Access returns a tablename is not a valid name error.
If set to 32, users of flat-file drivers are allowed to abort a long-running query by pressing the esc key.
If set to 64, the result is a column name of Cposition where position is the ordinal position in the result set. For example:
SELECT col1, col2+col3 FROM table1
produces the column names col1 and C2. SQLColAttributes/SQL_COLUMN_NAME returns an empty string for result columns that are expressions. Use this option for applications that cannot handle empty strings in column names.
If set to 256, SQLGetInfo/SQL_ACTIVE_CONNECTIONS is forced to return as 1.
If set to 512, the SQLSpecialColumns function returns a unique index as returned from SQLStatistics to prevent ROWID results.
If set to 2048, SQLDriverConnect returns Database= instead of DB= in the returned connection string.
If set to 65 536, trailing zeros are stripped from decimal results, which prevents Microsoft Access from generating an error when decimal columns containing trailing zeros are included in the unique index.
If set to 131 072, all occurrences of the double quote character ("") are turned into the accent grave character (`). Some applications always quote identifiers with double quotes. Double quoting causes problems for data sources that do not return SQLGetInfo/
SQL_IDENTIFIER_QUOTE_CHAR = ".
If set to 524 288, the precision and scale settings for SQL_DECIMAL parameters are overridden to precision 40 and scale 20.
If set to 8 388 608, SQLGetInfo/SQL_DATABASE_NAME is returned as an empty string when SQLGetInfo/SQL_MAX_QUALIFIER_NAME_LEN is 0. This option should be used with Inprise/Borland tools, such as Delphi.
If set to 536 870 912, SQLBindParameter is allowed to be called after SQLExecute to change the precision of previously bound parameters.
If set to 107 3741 824, Microsoft Access assumes that ORDER BY columns do not have to be in the SELECT list. This option provides a workaround for data stores that always use ORDER BY columns.