What are the uses of ODBC? Under what circumstances we use this technology?
ODBC expose database capabilities within a standardized way to the application programmer by an application programming interface (API). In difference to Embedded SQL, ODBC permits a single executable to access various DBMSs without recompilation. Therefore, although Embedded SQL is DBMS- independent just at the source code level, applications using ODBC are DBMS- independent at the source code stages and at the level of the executable.
All direct interaction along with a exact DBMS happens by a DBMS-specific driver. A driver is a software program which translates the ODBC calls within DBMS-specific calls. Drivers are loaded dynamically on demand because the DBMSs the application is going to access are known just at run-time. Available drivers are registered along with a driver manager. The driver translates the SQL commands from the application within equivalent commands in which the DBMS understands. An application which interacts along with a data source by ODBC selects a data source, dynamically loads the corresponding driver, and establishes a connection along with the data source. ODBC achieves portability at the stages of the executable through introducing an extra level of indirection. Further, using ODBC, an application could access not only one DBMS but several various ones simultaneously.