Three questions to ask when building and distributing custom ODBC drivers

Three questions to ask when building and distributing custom ODBC drivers

March 12, 2013 0 Comments

So you want to build an ODBC driver?


First, I want to say congratulations since this project reflects well on the popularity of your data source.  As a Systems Engineer, I have worked with numerous shops on this project in each phase from planning, development, testing all the way to production; and I want to share the things that typically go overlooked.

This applies to all the common approaches including:

  • Build your own from scratch
  • Build your own using the DataDirect ODBC SDK
  • Build a published database protocol such as Hadoop Hive, MySQL or Postgres and defer to open source drivers.

Building an ODBC driver is very much like the Harlem Shake.  You build a single prototype and it seems to be doing ok, and then the base drops; and you have total chaos ranging from "our largest prospect cannot use open source driver managers on Linux" to "a request for a 64-bit AIX client the very next day for Informatica PowerCenter".

If you've never seen a Harlem Shake, our friends at Plex Systems produced one, along with great ODBC connectivity:

1. Does the ODBC driver support Unix/Linux?

When you build a Unix/Linux ODBC client, there are a lot of things to consider upon releasing a driver:

  • What applications does your user base need connectivity from today versus future use as adoption grows?  Perhaps your users are looking to federate data in real-time using the Oracle Database Gateway for ODBC; and down the road they might need direct access from home grown web applications; business intelligence tools (Business Objects, Cognos, OBIEE, Microstrategy, SAS, SPSS, etc); or data integration tools (Informatica PowerCenter, Ab Initio, IBM DataStage, SAP Data Services, etc).
  • From these tools, what if you need to integrate data from multiple sources, for example, big data vendors might care about Netezza, Vertica, Teradata?  Will the Unix/Linux ODBC driver manager be able to support your driver alongside third party ODBC drivers?
  • Does using an open source driver manager such as unixODBC or iODBC violate corporate compliance in parts of your user base?
  • What about 32-bit and 64-bit coverage on AIX, Solaris SPARC, Solaris x86, Linux, HP-UX PA-RISC, HP-UX IA64?

2. Will it work with end user applications?

ODBC has been around for decades and there are thousands of applications out there ranging from Microsoft Office and SQL Server to data visualization tools like Tableau, Qliktech or Spotfire. It's important to choose a codebase that has been battle tested.  Here are some things to look out for:

  • Battle tested drivers have a long list of connection options and workarounds that show that the driver can be used in a variety of ODBC compliant applications, even when they are not exactly compliant.
  • Find tutorials.  For example, here is the DataDirect OpenAccess SDK ODBC client in action with IBM Cognos written by an in-house IBM certified consultant for Cognos BI.
  • Look at support.  DataDirect has a network of 300+ ISVs built on its technology and multi-vendor membership to back your driver.   In addition, support has published close to 4500 knowledge articles related to data connectivity in 2012 alone.

For shops using a published protocol, you can own the end user experience by distributing commercial drivers such as the DataDirect Connect and Connect64 for ODBC Postgres drivers or the Hadoop Ecosystem.

3. How easy is it to release another standards based clients?

As soon as you release an ODBC driver, I guarantee someone will ask for JDBC, OLEDB or ADO.NET that very same day.  I am definitely hearing more about JDBC data integration tools such as Pentaho Data Integrator, Talend, and Oracle Data Integrator; as wells as Java web applications.

Who has the foresight to ask all these questions?

We do.  And so do these guys: NetSuite, COINS Global, or Hewlett Packard.

Bounce your ideas off us

Download a trial of the DataDirect OpenAccess SDK to address all the questions above, or call 1-800-876-3101 to speak live with an OpenAccess Systems Engineer to share your plans, and learn how other organizations are making progress with DataDirect OpenAccess when building drivers for a wide variety of data sources:


  • NoSQL
  • NewSQL
  • Graph
  • Document
  • Unstructured Data Sources
  • As-a-service (i.e. Google App engine)
  • Modeling Multi tenant databases
  • Private DB Clouds

Application/business logic

  • C/C++, Java, or .NET application logic of  for RDBMS
  • Data Service Layers (i.e. Common Data Model Example)
  • ABL or 4GL Languages

SaaS or On-premise Applications

  • NetSuite
  • Google Analytics
  • SAP R/3
  • Oracle EBS
  • Siebel
  • Financial Calculation Engines
  • FORTRAN Applications

File-based data stores

  • C-ISAM, COBOL, BTree, CTree, XML
  • Home grown for fast archiving of lots of data
  • Financial Transaction Message files
  • Logs
Sumit Sakar

Sumit Sarkar

Technology researcher, thought leader and speaker working to enable enterprises to rapidly adopt new technologies that are adaptive, connected and cognitive. Sumit has been working in the data access infrastructure field for over 10 years servicing web/mobile developers, data engineers and data scientists. His primary areas of focus include cross platform app development, serverless architectures, and hybrid enterprise data management that supports open standards such as ODBC, JDBC, ADO.NET, GraphQL, OData/REST. He has presented dozens of technology sessions at conferences such as Dreamforce, Oracle OpenWorld, Strata Hadoop World, API World, Microstrategy World, MongoDB World, etc.

Comments are disabled in preview mode.
Latest Stories
in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

More From Progress
Getting Ahead of the Hybrid Data Curve
Read More
Creating Quick, Codeless Connectivity with Autonomous REST Connector
Read More
What’s New in OpenEdge 12.1
Read More