Open Data Base Connectivity
ODBC (OpenDataBaseConnectivity) is an industry standard created about 2 decades ago to standardized the way different tools and languages access and query data from multiple RDBMS vendors. ODBC can be roughly thought of as "FTP for RDBMS".
Here's a typical flow of an ODBC driver for reference. There are other possible features, but this example focuses on the common basics.
-
1. Driver receives SQL text from application or tool.
-
2. Driver opens connection to DB server via login etc. (Or fails with an error. It's also possible to keep a a longer-lasting connection open for multiple queries.)
-
3. Driver sends SQL query text to server as-is.
-
4. Driver waits for response from server (or times-out with an error.)
-
5. Driver receives a single RecordSet (virtual table) from the server. The record-set could be a 2D array or list of 1D arrays or maps, but this depends on the driver and/or language. (Record-set is ignored if the SQL is merely a command, such as UPDATE.)
-
6. The application uses the resulting record-set for its needs, often by iterating over the rows of the record-set.
It appears in practice one has to have the database vendor's drivers on both ends of the communication loop. There is no "generic" ODBC driver that can tap into any ODBC-supporting vendor (without programming in vendor-specific protocols). Bummer. Time for a new standard, maybe.
ODBC 'is' the mechanism by which vendor-specific protocols and DBMSes are made (relatively) generic.
See Also: KissWebServices
CategoryDatabase, CategoryInfoPackaging, CategoryInterface