Enabling the Support for ODBC Sources When the Virtual DataPort Server Runs on Linux

Virtual DataPort provides access to ODBC data sources. However, this feature is disabled by default when the Virtual DataPort server runs on Linux. The reason for being disabled by default is that on Linux, depending on the configuration of the host, Virtual DataPort could load the wrong library to connect to ODBC sources. If the wrong library is loaded, Virtual DataPort crashes. To avoid that a user creates an ODBC source that leads the Virtual DataPort server to crash, ODBC sources are disabled by default.

Follow these steps to enable this feature:

  1. Install the package unixODBC. The section Install unixODBC of the Developer Guide explains how to do it.

  2. Log into the user account you will use to launch the Virtual DataPort server.

  3. Check that these files exist:

    /usr/local/lib64/libodbc.so
    /usr/local/lib64/libodbcinst.so
    

    Or,

    /usr/local/lib/libodbc.so
    /usr/local/lib/libodbcinst.so
    

    Their location may change depending on the Linux/Unix distribution.

  4. Edit the file ~/.bash_profile and add the following at the end.

export LD_PRELOAD=/usr/local/lib/libodbc.so:/usr/local/lib/libodbcinst.so:$LD_PRELOAD

With this change in the value of the variable LD_PRELOAD, you make sure that Virtual DataPort loads the files libodbc.so and libodbcinst.so provided by unixODBC and not the ones provided by other libraries.

Note

If the two files listed above are in lib64 and not in lib, change the line above accordingly.

  1. Logout and login again from this user account. Do this to apply the changes done in .bash_profile.
  2. If the Virtual DataPort server was started, stop it.
  3. Start the Virtual DataPort server and login with an administrator account. Then, execute this command on the VQL Shell:
SET 'com.denodo.vdb.ODBCDataSource.enable' = 'true';
  1. To check that the configuration has been updated correctly, do the following from the administration tool:
    1. Create an ODBC data source.
    2. Create an ODBC base view.
    3. Query this base view.