What is ODBC
What is ODBC ? ODBC abbreviation for Open Database Connectivity is a standard application program interface (API) developed by Microsoft technologies. ODBC allows any application to issue the queries or commands to any database management system. Thus applications need not be a single database vendor dependent application.
ODBC are used whenever an application requires database independence as well as data to be accessed simultaneously from different databases. Executing the queries via an ODBC driver is slower compared to the native method of execute the raw queries on the database SQL editor screens.
However ODBCs are the best and most efficient way to connect to different databases simultaneously.
ODBCs are independent of the programming language or the operating system used at the application side. ODBC calls could be written in all the popular computer languages to access a DBMS system. The famous languages include C, C++, Perl, PHP, Python, Dot net and also Java which had developed a JDBC-ODBC driver specific for the ODBC purposes.
ODBC requires three main components and they are
1) ODBC issuing application or the ODBC client
2) A middle ware of ODBC driver
3) A ODBC server or the Database server
How ODBC works: The application issues the command or query to the database server via the ODBC drivers. These drivers are responsible of decoding the application commands to the database specific SQL statements and send it to the database. The database server or the ODBC server responds to the ODBC driver. The ODBC driver sends the application required format message back to the application or the ODBC client. The database connection details and authentication for the database are passed to the ODBC driver from the ODBC client application code.
Each database vendors had come up with specific ODBC drivers for their database. Ex: ODBC driver for Oracle 9i, ODBC driver for Oracle 10G, ODBC driver for Teradata, ODBC driver for MS SQL SERVER etc… The client system needs to install the required ODBC drivers to connect the application with the database.

ODBC administrator is component installed in all windows machine to work or create ODBC connections, it has an option called driver showing the available ODBC drivers for the client system. We can create a ODBC connection using these drivers. If you would like to see how yourself you can create a ODBC connection,go to your system control panel and click the ODBC administrator and explore the options.
Related posts:
- Get MySQL ODBC Driver MySQL provides standards based ODBC drivers for all programmers to...
- Where can i get ODBC driver ODBC is the Open Database Connectivity software component which requires...
- Oracle ODBC Driver ODBC is the industry standard way to connect to SQL...
- What is JDBC JDBC is the Java owned java developed API alternative to...
- What is DSN What is DSN ? DSN stands for Data Source Name....
1Netrista Khatam on Jul 9, 2009 :
All the basics pertaining to odbc have been covered here, but I wanted to point out a few things:
1. Poor performance is no longer a given with odbc connectivity. This problem is primarily associated with the early days of odbc.
2. There are generic drivers that have the capability to connect to more than one vendor’s DBMS. OpenLink Software’s Multi-Tier drivers ship with a generic client and a generic, serverside listener that can call a variety of database specific agents that can connect to a wide variety of DBMSs.
3. The odbc api makes it possible for client applications to connect to more than one vendor’s DBMS. However, simultaneous access is often difficult or impossible. Someone with this interest would be better served by a virtual or federated database solution. The virtual or federated database is capable of holding a mix of database tables originating in DBMSs from different vendors (e.g., Oracle, Sybase, Ingres, Informix, etc.). One odbc connection can be made to the Virtual Database, and the app can use this one connection to access the diverse tables and run things such as JOIN queries against them. Virtuoso Universal Server is an example of a Virtual Database.
Regards,
Netrista