Support Questions

Find answers, ask questions, and share your expertise

How do I include the Hive ODBC driver libraries directly in a Windows client application?

avatar

I've created a Windows 7 client application in C# that successfully connects to a Hive database using Hortonworks ODBC Driver for Apache Hive (v2.1.10). However I first had to install that driver on my machine and create a DSN which I then referenced in my application.

Instead I want to include the driver libraries directly within my application so that users of my app would not need to install the driver on their machines nor create a DSN. For example, users can connect to a PostGres database using this technique. To support that all I had to do was use Nuget Package Manager inside Visual Studio to download the Npgsql driver.

  1. So, is the Hortonworks ODBC Driver for Apache Hive available in NuGet Package Manager? There seem to be multiple Hive-related drivers but they look pretty old and I can't see any from Hortonworks.
  2. Failing that, which dlls and files from my local installation of the driver should I embed in my app?

There are 32 and 64 bit versions of my app so I guess each one will have to use the 32 and 64 bit drivers respectively. The app is using .Net Framework 4 and I'm constrained to Visual Studio 2010 for now.

3 REPLIES 3

avatar
@Lucas Partridge

Hortonworks provided ODBC drivers are available under https://hortonworks.com/downloads/. I don't see any nupkg for the current Hortorworks version.

avatar

@Sindhu Thanks; yes, that link is where I downloaded the ODBC driver from in the first place. But do you know if Hortonworks will make their Windows drivers available via NuGet?

If Hortonworks aren't prepared to make them available on NuGet soon then I'll have to figure out which of the many dlls in the existing ODBC driver I'll need to embed in my app; or else get one of these other drivers for Hive: https://www.nuget.org/packages?q=Hive . It's just they look pretty old and many are using Thrift rather than standard ODBC to communicate with Hive.

avatar

I've given up on this for now and am just using DSNs to attach to Hive. Hopefully one day Hortonworks will make their drivers available via NuGet so that my app can talk to Hive directly via a connection string, and not require my end-users to install the ODBC drivers themselves and configure a DSN.