ODBC: Character conversion and Data Direct driver manager

Details

Detail name Value
Changelog Number 13228
Type Bug
Status Resolved
Affected Versions Exasol 7.0.0
Fix Versions Exasol 8.0.0, Exasol 7.1.10
Resolution Date 2022-04-20

Background  

The Exasol ODBC Driver supports the Microsoft ODBC specific UTF-16 and the Data Direct driver manager specific UTF-8 unicode strings for ODBC unicode functions ("W" functions). The "DriverUnicodeType" connection string attribute can be used to switch between UTF-8 and UTF-16 unicode strings.

Description

When “DriverUnicodeType=2” is specified in the connection string or if this mode was set by the Data Direct driver manager, the ODBC driver incorrectly sets all arguments of non-unicode functions to UTF-8. 

Workaround

There is no workaround.

Fix

The "DriverUnicodeType" parameter matches the SQL_ATTR_DRIVER_UNICODE_TYPE from the Data Direct documentation and no longer impacts non-unicode functions in ODBC.

 Applications which use UTF-8 strings in non-unicode ("W") functions must now setlocale() or use the connection string parameter "ConnectionLCCtype" so that the locale settings in the console match the data sent by the application.

Changed behavior

Applications which use UTF-8 strings in non-unicode ("W") functions must now setlocale() or use the connection string parameter "ConnectionLCCtype" so that the locale settings in the console match the data sent by the application.