ODBC stands for Open Database Connectivity.
It is an open standard Application Programming Interface also known as API which is used for accessing a database. First ODBC driver was build in 1992 when Microsoft partners with Simba named SIMBA.DLL. With the help of ODBC statement in a program. We can access different files in a number of a different or common database.
First ODBC standard was introduced in 1992 by Microsoft. This driver was a standard model that is basically designed to unify access to different SQL databases. Seeing huge success of ODBC, Microsoft introduced another DB (database) named OLE DB which was to be a broader data access standard than ODBC. It was basically a data access standard that can be performed beyond just SQL databases and that was extended to a different type of data source that could represent data in form of rows and columns.
The basic plan of Microsoft was that OLE DB would takeover ODBC as most common data access standard. Recently Microsoft introduced another data access standard named ADO. ADO was supposed to work further than OLE DB because ADO was more object-oriented.
With so many advancements to reduce use of ODBC doesn’t work out as ODBC has continued to be de facto data access standard for SQL data sources. The main reason behind is its cross-platform data access standard power. And Today also most common data access standards for different SQL data sources continue to be ODBC and JDBC, not OLE DB or ADO.
Components of ODBC :
There are 4 main components of ODBC these are as follows :
- Application –
This component basically calls ODBC function and submits SQL statements.
- Driver Manager –
The role of this component is to load driver for each application.
- Driver –
Role of this component to handle all function calls and then submits each SQL requests to a data source.
- Data Source –
Role of this component to access data.
Features of ODBC :
Following are some of features of ODBC :
- Error Codes –
ODBC basically supports error code mechanism to show issues which caused error to occur while processing SQL statements.
- Attributes –
Beside Error Code feature it also provides different types of functions to get details of attributes and functions that are used in drivers.
- Rich metadata –
ODBC also provides huge support to data about data also known as metadata. ODBC also provides different functions to get data about both functions and data types used.
- Inter-operability –
The most important feature of ODBC is its interoperability that means using ODBC driver we can develop different applications that can communicate with different DB also known as Database Management System and switching our application from one database to another will not create any problem.
- SQL Syntax –
ODBC basically implements SQL syntax for easy understanding of user because SQL syntax are easily understood by end-user. Whenever an SQL statement is passed by user to ODBC driver it matches given statement to SQL 92 standard and converts it into respective SQL statement that is accepted by an underlying database.
- It is well integrated into many different RAD tools.
- It interfaces easily into a variety of “data-bound” components in different development environments such as Powerbuilder, Delphi, Visual Basic and Java etc.
- It basically simplifies and also speeds up application development.
- It also helps to edit multiple different objects at a time, with the help of templates provided by ODBC.
- It also allows maximum interoperability that basically means that a single application can easily access different database management systems or we can also say ODBC permits a single application to handle different types of DBMS based on user requirement or type of DBMS available.
- With the help of built-in function we can create custom applications.
Disadvantages of ODBC:
Despite having lots of advantages and features ODBC also posses some disadvantages too these are as follows :
- Slow with large databases –
As the size of databases increase speed of ODBC reduces.
- Servers not standardized –
In ODBC since most of work is done by clients or User, it is very difficult to scale and also these ODBC drivers are also not standardized. Because of which clients maintain their own driver, naming tables which creates a problem for management of large sites.
- Complicated to build –
These ODBC drivers are complicated to build and also complicated to maintain.
- Depends on framework –
As ODBC specification specifies only application protocol so it basically inherits features of framework in which it is used on. Thus we can say that reliability depends on implementation of request/response protocol of underlying framework that is being used.