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