It’s not the sort of question that usually comes up over hors d'œuvres, but given the type of event I was at, I guess it’s not too surprising…  It was a gathering for Product Managers in local tech companies and I found myself chatting with someone whose company made GPS-enabled systems for tracking fleets of vehicles.  Their system of course produced lots of data and reports to go with it but they found that customers really wanted to slice & dice the data themselves, using something like Excel.  They’ve had a simple “export” feature available for years, but their customers really wanted “live” access to the data, so they were looking at ODBC as their solution.

Which gets me to the question—when they found out that the company I worked for made an ODBC SDK, they asked me why someone would use our SDK rather than Microsoft’s own ODBC SDK?  After all, Microsoft’s is essentially free as part of your MSDN subscription and it includes things you’ll need like a driver manager, installer DLL, test tools and even sample applications.  They had already looked at some other commercial solutions for pre-packaged ODBC drivers and determined that they weren’t viable because either the configuration options were too limited or they couldn’t package the driver the way wanted to deliver it to their customers.

I agreed that given their needs, they were definitely candidates to “build-it” rather than “buy-it” but what Simba offers is a third option that falls between the two extremes.  Microsoft’s ODBC SDK is a low-level C language API and a full, commercial implementation built with this API is a major undertaking, with low level data checks, sequence checks and error reporting needed.  It also assumes that you have a database engine that supports SQL and provides at least basic relational database functions.  Our SimbaEngine ODBC SDK is actually complementary to Microsoft’s, it is a higher-level SDK that makes it easy for you to build a driver to the Microsoft ODBC specification.  If your data is stored in flat files or a non-relational format, we also include a SQL Engine to provide the SQL processing required for ODBC.

Since this is quite a common question for us (although I have to admit, it’s the first time I’ve been asked over wine & cheese…), we have a white paper that goes into more detail, so I sent them a link to it and I thought it would be worth sharing the story here as well.  Here’s the link if you’re curious to learn more: