skip to main content
Internationalization, localization, and Unicode : Unicode and non-Unicode ODBC drivers : Function calls
  

Try DataDirect Drivers Now

Function calls

Instead of the standard ANSI SQL function calls, such as SQLConnect, Unicode applications use "W" (wide) function calls, such as SQLConnectW. If the driver is a true Unicode driver, it can understand "W" function calls and the Driver Manager can pass them through to the driver without conversion to ANSI. The DataDirect for ODBC drivers that support "W" function calls are:
*Aha!
*Amazon Redshift Wire Protocol
*Apache Hive
*Apache Cassandra
*Apache Spark SQL Wire Protocol
*Autonomous REST Connector
*GitHub
*Google BigQuery
*Microsoft Dynamics 365
*MongoDB
*Oracle Wire Protocol
*Oracle Service Cloud
*Salesforce
*SAP S/4HANA
*SQL Server Wire Protocol
*TeamCity
If a driver is a non-Unicode driver, it cannot understand W function calls, and the Driver Manager must convert them to ANSI calls before sending them to the driver. The Driver Manager determines the ANSI encoding system to which it must convert by referring to a code page. On Windows, this reference is to the Active Code Page. On non-Windows platforms, it is to the IANAAppCodePage connection string attribute, part of the odbc.ini file.
The following examples illustrate these conversion streams for the Progress DataDirect for ODBC drivers. The Driver Manager on UNIX and Linux determines the type of Unicode encoding of both the application and the driver, and performs conversions when the application and driver use different types of encoding. This determination is made by checking two ODBC attributes: SQL_ATTR_APP_UNICODE_TYPE and SQL_ATTR_DRIVER_UNICODE_TYPE, which can be set for either the environment, using SQLSetEnvAttr, or the connection, using SQLSetConnectAttr. "Driver Manager and Unicode Encoding on UNIX/Linux" describes in detail how this is done.
* Unicode application with a non-Unicode driver
* Unicode application with a Unicode driver