SAP supports ODBC drivers for most commercial databases (Oracle, DB2, MS SQL) or big data engines (Hadoop, Netezza).
Common guidelines for SDA configuration are already available on SCN or HANA Academy and will be not discussed here.
If you would like to use 3rd party ODBC database driver, you could face following difficulties:
- ODBC driver library cannot be loaded by HANA
It means that some called functions are not implemented within the driver, most likely caused by missing unicode support. Unicode ODBC functions ends at W. To load the driver, at least SQLDriverConnectW, SQLTablesW and SQLColumnsW functions must be available.
You can use linux command available by default on hanabox objdump –T driver_library.so | grep “SQL[A-Za-z ]*W” to list available W functions in driver .so library.
Some drivers are not compiled with these W functions by default. In case of open source drivers, please look at the source code and makefile. In some cases, these functions are compiled only if defined WINTERFACE. To define this, add –DWINTERFACE in makefile CFLAGS.
If still not loaded, compile it only with these three W functions plus functions called from these three (usually Unicode to UTF8 conversions of catalog and schema name).
- Database catalog, schema and tables not visible in HANA Studio Provisioning
Please check your database catalog/schema capability. Non-empty catalog name is mandatory, schema name is optional. These parameters are returned to HANA from SQLTablesW function. Review the sql statement used to return list of tables. Statement must return at least TABLE_CAT, TABLE_NAME and TABLE_TYPE.
- You have to specify database property file during remote source definition in HANA studio. It is partly important for nontrivial sql statements, used functions or data types and doesn’t need to be adapted to common sql queries and basic data types. Please go to subdirectory config of HANA exe directory and copy existing property file for example property_maxdb.ini to property_yourdb.ini. Specify this file in the remote source.