Easysoft ODBC for SQL Server

Configure the Easysoft ODBC for SQL Server data source that will be used in the ODI "source" connection parameter:

Software requirements

When using the ESM database driver (dbmesm), the EasySoft ODBC driver for SQL Server must be installed, see www.easysoft.com.

Minimum required Easysoft ODBC for SQL Server version: 2.0.19.

With the ESM driver, there is no need to install a driver manager like unixODBC. The ESM database driver is linked directly with the libessqlsrv.so shared library. Verify the environment variable (LD_LIBRARY_PATH or equivalent) specifies the search path for that database client shared library.

Make sure the EasySoft environment variables are properly set. Check for example EASYSOFT_ROOT (the path to the installation directory).

Specific ODBC settings

Create the odbc.ini and odbcinst.ini files, to define the data source parameters.

The ODBCINI environment variable must point to the odbc.ini file, and ODBCINST environment variable must point to the odbcinst.ini files.

Set the following DSN parameters:
AnsiNPW=Yes
Mars_Connection=No
QuotedId=No 

Client locale settings

Configure the client character set for EasySoft with the Client_CSet parameter in odbc.ini. The client character set is an iconv name and must match the locale of your Genero application.

To support all UNICODE characters when using UTF-8 with NCHAR/NVARCHAR columns, you need to define Client_CSet=UTF-8 and Server_UCSet=UTF-16LE.

When using CHAR/VARCHAR types in the database and when the database collation is different from the client locale, you must also set the Server_CSet parameter to an iconv name corresponding to the database collation. Some examples:
  • If Client_CSet=ISO-8859-15 and the db collation is Latin1_* (=CP1252), you must set Server_CSet=WINDOWS-1252 (otherwise, the characters €, Š, š, Ž, ž, Œ, œ, Ÿ which are encoded differently
  • If Client_CSet=BIG5 and the db collation is Chinese_Taiwan_Stroke_BIN, you must set Server_CSet=BIG5HKSCS.

On both Linux and Windows, ODBC character string bindings is controlled by the widechar option, which is automatically selected according to the application locale and length semantics. For more details see CHAR and VARCHAR data types.

ODBC data source example

UNIX® ODBCINI sample for EasySoft ODBC for SQL Server driver:
[esm_msvtest1_ida_utf8_2017]
Driver=Easysoft ODBC-SQL Server
Description=Easysoft SQL Server ODBC driver
Server=ida
Port=1683
Database=msvtest1
Mars_Connection=No
Logging=No
LogFile=/tmp/odbc.log
#QuotedId=No
AnsiNPW=Yes
Language=
Version7=No
ClientLB=No
Failover_Partner=
VarMaxAsLong=No
DisguiseWide=No
DisguiseLong=No
Trusted_Connection=No
Trusted_Domain=
IPv6=No
Client_CSet=UTF-8
Server_UCSet=UTF-16LE
With the above ODBC data source definition, the ODI "source" parameter needs to be defined as follows:
dbi.database.dbname.source = "esm_msvtest1_ida_utf8_2017"