Compare the Difference Between Similar Terms

Difference Between

Home / Technology / IT / Database / Difference Between ODBC and OLEDB

Difference Between ODBC and OLEDB

June 30, 2011 Posted by Indika

ODBC vs OLEDB

Typically, software applications are written in a specific programming language (such as Java, C#, etc.), while databases accept queries in some other database specific language (such as SQL). Therefore, when a software application needs to access data in a database, an interface that can translate languages to each other (application and database) is required. Otherwise, application programmers need to learn and incorporate database specific languages within their applications. ODBC (Open Database Connectivity) and OLEDB (Object Linking and Embedding, Database) are two interfaces that solve this specific problem. ODBC is a platform, language and operating system independent interface that can be used for this purpose. OLEDB is the successor to ODBC.

What is ODBC?

ODBC is an interface to access database management systems (DBMS). ODBC was developed by SQL Access Group in 1992 at a time there were no standard medium to communicate between a database and an application. It does not depend on a specific programming language or a database system or an operating system. Programmers can use ODBC interface to write applications that can query data from any database, regardless of the environment it is running on or the type of DBMS it uses.

Because ODBC driver acts as a translator between the application and the database, ODBC is able to achieve the language and platform independence. This means that the application is relieved of the burden of knowing the database specific language. Instead it will only know and use the ODBS syntax and the driver will translate the query to the database in a language it can understand. Then, the results are returned in a format that can be understood by the application. ODBC software API can be used with both relational and non relational database systems. Another major advantage of having ODBC as a universal middleware between an application and a database is that every time the database specification changes, the software does not need to be updated. Only an update to the ODBC driver would be sufficient.

What is OLEDB?

OLEDB is a data API developed by Microsoft. It allows to access data from a large range of data sources. It is implemented using Microsoft’s COM (Component Object Mode). OLEDB is considered to be a successor to ODBC, and it can handle data sources in a much higher level compared to ODBC. In essence, OLEDB extends the ODBC features to non-relational databases (e.g. object databases and spreadsheets). That means, OLEDB can be used with databases that does not use SQL. OLEDB was developed as a part of the Microsoft Data Access Components (MDAC).

What is the difference between ODBC and OLEDB?

If the programmer is unfamiliar with COM, then ODBC is the better option. But, ODBC is only good for relational databases, while OLEDB is suitable for both relational and non-relational databases. If the database does not support OLE (non-OLE environments) then ODBC is the best choice. If the environment is non-SQL, then you have to use OLEDB (because ODBC works only with SQL). Similarly, if interoperable database components are required, then OLEDB needs to be used instead of ODBC. However, for 16-bit data accessing ODBC is the only option (OLEDB does not support 16-bit). Finally, OLEDB is the best choice for connecting to multiple databases at once (ODBC can connect to only one database at a time).

Related posts:

Difference Between ODBC and ADO Difference Between ODBC and JDBC Difference Between MS SQL Server 2008 and 2008 R2 Difference Between Inner Join and Outer Join Difference Between Triggers and Stored Procedures

Filed Under: Database Tagged With: Component Object Mode, data API, interfaces, MDAC, Microsoft OLEDB, ODBC, ODBC driver, ODBC interface, OLEDB, oledb interface, universal middleware

About the Author: Indika

Indika, BSc.Eng, MSECE Computer Engineering, PhD. Computer Science, is an Assistant Professor and has research interests in the areas of Bioinformatics, Computational Biology, and Biomedical Natural Language Processing.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Request Article

Featured Posts

Difference Between Coronavirus and Cold Symptoms

Difference Between Coronavirus and Cold Symptoms

Difference Between Coronavirus and SARS

Difference Between Coronavirus and SARS

Difference Between Coronavirus and Influenza

Difference Between Coronavirus and Influenza

Difference Between Coronavirus and Covid 19

Difference Between Coronavirus and Covid 19

You May Like

Difference Between Motherboard and Processor

Difference Between Transverse and Longitudinal Waves

What is the Difference Between Photoionization and Photoelectric Emission

What is the Difference Between Photoionization and Photoelectric Emission

What is the Difference Between Compensated and Decompensated Liver Cirrhosis

What is the Difference Between Compensated and Decompensated Liver Cirrhosis

Difference Between QTL and GWAS

Difference Between QTL and GWAS

Latest Posts

  • What is the Difference Between de Quervain’s Tenosynovitis and Carpal Tunnel
  • What is the Difference Between Herniated Disc and Piriformis Syndrome
  • What is the Difference Between Spinal Stenosis and Spondylosis
  • What is the Difference Between Lip Flip and Lip Filler
  • What is the Difference Between Bone Spurs and Plantar Fasciitis
  • What is the Difference Between Tension Pneumothorax and Cardiac Tamponade
  • Home
  • Vacancies
  • About
  • Request Article
  • Contact Us

Copyright © 2010-2018 Difference Between. All rights reserved. Terms of Use and Privacy Policy: Legal.