skip to main content
OpenAccess SDK Service Attributes : Defining Service Attributes : DataSourceWorkArounds
 

DataSourceWorkArounds

Turns on workarounds that allow you to take full advantage of the ODBC driver with ODBC applications requiring nonstandard or extended behavior.
When this attribute is set in the configuration file, it is valid for all applications that connect to OpenAccess SDK. When you add this attribute in the connection string, it is set for that connection only.
Refer to the OpenAccess SDK Client Reference for more information about connecting using a connection string.
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.

Valid values

Valid values are as follows:
*1= 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 this option is on, the ODBC driver returns 1, allowing Microsoft Access to open tables as read-write.
*2=Some applications cannot handle database qualifiers. If this option is on, the driver reports that qualifiers are not supported.
*4=Visual Basic 4.0 sometimes requires two connections to a DBMS. For DBMSs that support only a single connection, the second attempt fails. If this option is on, the driver detects when this condition occurs and has the two ODBC connections share a single physical connection to the DBMS.
*8=If an ODBC driver cannot detect the number of rows affected by an Insert, Update, or Delete statement, it may return -1 in SQLRowCount. Some products cannot handle this. Turning this option on causes the driver to return 1 instead.
*16=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 this option is on, the driver returns no INDEX_QUALIFIER, allowing Microsoft Access to open the table.
*32=This option allows users of flat-file drivers to abort a long-running query by pressing the ESC key.
*64=This option results in 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.
*256=Forces SQLGetInfo/SQL_ACTIVE_CONNECTIONS to be returned as 1.
*512=To prevent ROWID results, this option forces the SQLSpecialColumns function to return a unique index as returned from SQLStatistics.
*2048=This option results in SQLDriverConnect returning "Database='' instead of "DB='' in the returned connection string.
*65536=This option strips trailing zeros from decimal results, which prevents Microsoft Access from generating an error when decimal columns containing trailing zeros are included in the unique index.
*131072=This option turns all occurrences of the double quote character ("") 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 = ".
*524288=This option overrides the precision and scale settings for SQL_DECIMAL parameters to precision 40 and scale 20.
*8388608=This option causes SQLGetInfo/SQL_DATABASE_NAME to be 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.
*536870912=This option allows SQLBindParameter to be called after SQLExecute to change the precision of previously bound parameters.
*1073741824=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.

Default

0

Type

Dynamic