Forum

Discussions specific to version 8.1
Contributor
Offline
User avatar
Posts: 386
Joined: Thu May 23, 2013 4:48 pm

I get PI0183 error when trying to use an ODBC connector

by markc » Wed Sep 04, 2013 1:36 pm

I am trying to use an ODBC connector to pull data from another database into Kognitio via the external table mechanism.

However, I keep getting "PI0183: Module ODBC: Unable to load driver" when I do this.

What could be causing the problem?
Reply with quote Top
Contributor
Offline
User avatar
Posts: 386
Joined: Thu May 23, 2013 4:48 pm

Re: I get PI0183 error when trying to use an ODBC connector

by markc » Wed Sep 04, 2013 1:40 pm

There are a few things worth checking for ODBC connector issues:

1) Have you enabled external tables in the configuration file (the release notes tell you how to do this). Without this, no external table functionality is available.

2) Have you installed the ODBC driver you want to use on EVERY Kognitio node - the driver needs to be on every node, as any node in the system can be used to make an ODBC connection for the external table.

3) Have you ensured the ODBC driver is a 32-bit driver. The Kognitio software is 32-bit, so you need a 32-bit ODBC driver to be used in your ODBC connector. Again, this will need to be on EVERY Kognitio node.

4) Does the ODBC driver support SQLConnect? If not (e.g. if it only supports SQLConnectW as Oracle drivers do), then you will need to use a 32-bit ODBC driver manager on the DB nodes to convert the API calls made by the ODBC connector to those the ODBC driver can handle. Typically this means using something like /usr/lib/libodbc.so as the driver (that is where the 32-bit unixODBC library is normally installed), and ensuring unixODBC or whatever Driver Manager software is being used has relevant details setup for the driver you want to use, and potentially the DSN (see your Driver Manager documentation for details). Again, this will need to be done on EVERY Kognitio node.

5) For Oracle, we have had to add something like /usr/lib/oracle/11.2/client/lib to the /etc/ld.so.conf file, then run ldconfig, to allow the Oracle ODBC driver to find other necessary Oracle libraries. Again, this will need to be done on EVERY Kognitio node.

If all of the above checks out, please provide the SQL showing the problem, the preceding SQL which setup the connector (including any error codes returned when that was done), and tar up /var/log/wx2 and provide that along with the time the PI0183 error occurred, so the log files can be reviewed.
Reply with quote Top
Contributor
Offline
User avatar
Posts: 25
Joined: Fri Nov 29, 2013 9:31 pm

Re: I get PI0183 error when trying to use an ODBC connector

by quant123 » Sun Dec 08, 2013 4:03 pm

Hi Mark,

I am trying to use ODBC to query MySQL from Kognitio latest V8.
I am getting the following error message "HY000[Kognitio][WX2 Driver][192.168.10.6:6550] PI0183: Module ODBC: Required ODBC function not found in driver"

I followed the instructions below as well as in the ODBC documentation.
This is what i did:

First:
CREATE CONNECTOR odbcconnector8 SOURCE ODBC TARGET 'driver /usr/lib/libmyodbc3_r-3.51.30.so, connect "SERVER=192.168.10.12:3306;UID=admin;PWD=xxxx"';
This part was successful

Then, here is the query that I am trying to run:

create external table tget
from odbcconnector8
target 'query "select * from mydb.mytable"';


This query results in the error above.

This is a single-instance Kognitio. The MySQL ODBC should be working as I verified it using isql tool and with it I can do the same query on the same database / table with no problem.
I tried both V5 and V3 of MySQL odbc driver with same results.

Any ideas?

Thank you!
Reply with quote Top
Contributor
Offline
User avatar
Posts: 386
Joined: Thu May 23, 2013 4:48 pm

Re: I get PI0183 error when trying to use an ODBC connector

by markc » Sun Dec 08, 2013 5:06 pm

If you look at http://www.kognitio.com/forums/viewtopic.php?f=2&t=92 the second reply talks about a number of possible causes of error with the ODBC connector. In this case, I suspect it is point 4 on that list, with the ODBC driver in use not supporting SQLConnect (it probably only supports the W variation of this). To work around this, use a driver manager as described in that topic, as the DM will map calls like SQLConnect onto the underlying API calls provided by the driver.

Note that in the next release (i.e. 8.1.1 or later) the ODBC connector mechanism is being modified to default to using a driver manager rather than the Kognitio ODBC driver, and will also allow the use of 64 as well as 32 bit drivers.

Regards,
Mark.
Reply with quote Top
Contributor
Offline
User avatar
Posts: 25
Joined: Fri Nov 29, 2013 9:31 pm

Re: I get PI0183 error when trying to use an ODBC connector

by quant123 » Fri Dec 13, 2013 1:14 am

Mark,

Thanks for that.
I think that the suggested workaround using DM is a bit beyond my Linux "comfort zone", unless there is a step by step tutorial.. :-)
so waiting for the next release looks like the best option for me.
Any idea when is the next release expected?
Reply with quote Top
Contributor
Offline
User avatar
Posts: 386
Joined: Thu May 23, 2013 4:48 pm

Re: I get PI0183 error when trying to use an ODBC connector

by markc » Mon Dec 16, 2013 9:47 am

I don't currently have a date for the next release, but availability will be announced on these forums, so if you enable notifications you should get an email when that happens.

Note that the release will not include an ODBC driver manager, but your Linux distribution should make it relatively easy to install one of the more popular driver managers - I believe UnixODBC is the most popular, followed by iodbc.

Regards,
Mark.
Reply with quote Top

Who is online

Users browsing this forum: No registered users and 1 guest

cron