About ODBC and ODBC Router
It's an acronym that stands for "Open Database Connectivity". Instead of hardcoding say, MySQL or QuickBooks Pro or ORACLE specific
database calls, developers
instead use industry-standard ODBC database calls; then, when an end-user
goes to deploy their application, they install a so-called "ODBC driver" (like a printer driver) along with any database-specific network libraries and settings required by that driver. These drivers, libraries and settings may be installed once for their entire network (using an ODBC Router) or on each of their network's various machines so as to complete the connection between their ODBC capable
applications and their choice of database systems. For example, to access ORACLE from an Excel spreadsheet, the end-user
would simply install an ORACLE ODBC driver and use the ODBC Administrator
control panel to configure the appropriate network settings under a Data Source Name
so that they may then reference that name inside of their Excel spreadsheets (using Excel's Data->GetExternalData
menu), as well as in other ODBC capable
applications on their machine.
With ODBC Router, free client-side ODBC overdrivers
or runtime libraries
are distributed for use on iPhones, iPads, Macs, Linux and Windows devices that route their applications' industry-standard ODBC calls to the central Windows box where a background service passes them to the database systems' officially supported Windows ODBC drivers and database networking libraries. This makes it very easy to implement once exotic solutions such as mobile-worker apps that interact directly with DB/2, Linux-based phone systems that store Call Detail Records in ORACLE and Excel spreadsheets that graph data live from website databases.
On Windows, ODBC drivers are available for virtually every revision of every database system ever produced, including legacy mainframe and minicomputer systems from years past and popular "open source" systems like MySQL. Most of the time, these ODBC drivers are supplied by the manufacturer of the database system (ie, ORACLE, MySQL, Microsoft, etc...), but in other cases, they are provided by manufacture-recommended
With ODBC Router you will not need to; however, without ODBC Router, there are a few independent outfits that have tried to produce ODBC drivers (using abandoned freeware hacks they found on the Internet, side-license agreements with the database vendors and sometimes even by secretly launching a Java virtual machine
in the background of their customers' laptops to facilitate use of JDBC). While sometimes a database vendor will decide to build a non-
Windows ODBC driver for one revision of their database system or another, inevitably, those efforts are not kept in sync
with their database server upgrade cycles or the Windows edition of their ODBC driver, so they break when it comes time to upgrade the database server usually in response to some Windows security patch, stranding the customer's non-
Windows computers. For platforms such as Linux
where there is no central authority providing a single driver "manager", such non-
Windows database drivers might be available for use with one driver "manager", but may only be experimental/untested with another such driver "manager". Elimination of these concerns was the primary objective in developing ODBC Router.
An emerging megatrend with consumers and businesses is, of course, the adoption of iPhone and iPad like devices that are far more convenient and inexpensive than PCs and with their "focused" interfaces tend to be more productive and secure. While these devices do have built-in web browsers like the PCs they are supplanting, their real productivity gains come from "apps" that leverage additional features not available to web-apps. These new mobile apps can now tie directly into the database via ODBC, rather than require an intervening web-service.
Some of the issues solved by ODBC Router can be addressed by rewriting your applications for the web; however, the web servers will still typically need to access databases and on Linux should use ODBC to avoid vendor lock-in
or the drivers that are based on third-party attempts at hacking the database vendors' internal protocols. Check-out the PHP on ODBC site
for information on this subject.
In the WWW's "reckless youth", it was common practice to hardcode the database calls made by web apps to the proprietary MySQL API because MySQL is free and "open source"; however, MySQL eventually went through three major corporate acquisitions resulting in the departure of its original staff and is now in the hands of its chief for-profit
competitor and the same fate lay in store for any replacement, so it has become especially prudent to use the industry-standard ODBC API from here on out, even if only in conjunction with the MySQL or a Postgres ODBC driver. It is further legally uncertain to include MySQL APIs in commercially distributed binaries, such as (even free/ad-supported) iPhone and iPad apps on Apple's AppStore without a commercial
license from its owner --we certainly would not try it and not just because we make a solution that costs the same as a TV set that happens to address this issue.