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

Virtual DataPort can connect to Microsoft Access and other ODBC sources. However, this feature is disabled by default when the Virtual DataPort server runs on Linux.

If you are not going to connect to Microsoft Access files nor other ODBC sources, go to the next post-installation section. You can also do the process described in this section later.

On Linux, this feature is disabled by default because, 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. Connect to the host where Denodo is installed. Log in with the user account you will use to launch Virtual DataPort.

  2. In this host, install the ODBC driver manager unixODBC. To verify if unixODBC is already installed, execute the following commands. These check if the command line utilities odbcinst and isql are already installed:

    which isql
    
    which odbcinst
    

    If both commands return the path to a file, go to step #3. If unixODBC is not installed, do this:

    1. For Linux distributions that use the RPM packaging system (e.g. Red Hat, CentOS, etc.), execute this:

      sudo yum install unixODBC
      

      For the ones based on Debian like Ubuntu execute this:

      sudo apt-get install unixODBC
      
  3. Execute this:

    odbcinst -j
    

    This is to verify that unixODBC is installed correctly:

  4. 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
    

    The path to these files may change depending on the Linux/Unix distribution.

  5. 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.