Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.
The "Hive/HiveODBC" page has been changed by Ning Zhang. http://wiki.apache.org/hadoop/Hive/HiveODBC?action=diff&rev1=14&rev2=15 -------------------------------------------------- }}} If your system does not have isql, you can obtain it by installing the entirety of unixODBC. If you encounter an error saying that the shared libraries cannot be opened by isql, use the {{{ldd}}} tool to ensure that all dynamic library dependencies are resolved and use the {{{file}}} tool to ensure that isql and all necessary libraries are compiled into the same architecture (32 or 64 bit). + === Build libodbchive.so for 3rd Party Driver Manager === + If you want to build libodbchive.so for other Driver Manager (for example, MicroStrategy uses DataDirect ODBC libraries which contains its own Driver Manager), you need to configure and build libodbchive.so against that Driver Manager (libodbc.so and libodbcinst.so). + + If you have the 3rd party Driver Manager installed, the easiest way to do that is to find the installation directory containing libodbc.so and libodbcinst.so, and set that directory to LD_LIBRARY_PATH. Then you need to run configure and make for the Hive ODBC driver. After you get the libodbchive.so, make sure the 3rd party application can access the dynamic library libodbchive.so, libthrift.so and libhiveclient.so (through LD_LIBRARY_PATH or lddconfig). + + If you build libodbchive.so for the 3rd party Driver Manager, isql may not work with the same set of .so files. So you may need to compile a different libodbchive.so for each Driver Manager. + === Troubleshooting === * Hive client build process * "libthrift.a: could not read symbols: Bad value" or "relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object"?
