Verschil tussen ODBC en OLEDB

Anonim

ODBC vs OLEDB

Typisch worden software applicaties in een specifieke programmeertaal geschreven (zoals Java, C #, enz.), terwijl databases vragen accepteren in een andere database specifieke taal (zoals SQL). Daarom, wanneer een software applicatie toegang heeft tot gegevens in een database, is een interface nodig die talen kan vertalen (applicatie en database). Anders moeten applicatieprogrammers de databasespecifieke talen leren en integreren in hun toepassingen. ODBC (Open Database Connectivity) en OLEDB (Object Linking and Embedding, Database) zijn twee interfaces die dit specifieke probleem oplossen. ODBC is een platform, taal en besturingssysteem onafhankelijke interface die hiervoor gebruikt kan worden. OLEDB is de opvolger van ODBC.

Wat is ODBC?

ODBC is een interface voor toegang tot database management systemen (DBMS). ODBC is ontwikkeld door SQL Access Group in 1992 op een moment dat er geen standaard medium was om te communiceren tussen een database en een applicatie. Het is niet afhankelijk van een specifieke programmeertaal of een databasesysteem of een besturingssysteem. Programmeurs kunnen ODBC-interface gebruiken om applicaties te schrijven die gegevens kunnen uitzoeken vanuit een database, ongeacht de omgeving waarin het wordt gebruikt of het type DBMS dat het gebruikt.

Omdat ODBC-stuurprogramma fungeert als vertaler tussen de applicatie en de database, kan ODBC de taal- en platform onafhankelijkheid bereiken. Dit betekent dat de applicatie wordt ontheven van de last van het weten van de database specifieke taal. In plaats daarvan zal de ODBS-syntax alleen kennen en gebruiken en zal de driver de query naar de database vertalen in een taal die het kan begrijpen. Vervolgens worden de resultaten geretourneerd in een formaat dat door de toepassing kan worden begrepen. ODBC software API kan worden gebruikt met zowel relationele als niet-relationele databasesystemen. Een ander belangrijk voordeel van ODBC als universeel middleware tussen een applicatie en een database is dat elke keer dat de database specificatie verandert, de software niet bijgewerkt moet worden. Alleen een update voor de ODBC-driver zou voldoende zijn.

Wat is OLEDB?

OLEDB is een data-API ontwikkeld door Microsoft. Het staat toe om gegevens van een groot aantal gegevensbronnen te openen. Het wordt geïmplementeerd met behulp van Microsoft's COM (Component Object Mode). OLEDB wordt beschouwd als een opvolger van ODBC, en kan gegevensbronnen op een veel hoger niveau vergeleken met ODBC. In wezen verruimt OLEDB de ODBC-functies naar niet-relationele databases (bijvoorbeeld objectdatabases en spreadsheets). Dat betekent dat OLEDB kan worden gebruikt met databases die geen SQL gebruiken. OLEDB is ontwikkeld als onderdeel van de Microsoft Data Access Components (MDAC).

Wat is het verschil tussen ODBC en OLEDB?

Als de programmeur onbekend is met COM, dan is ODBC de betere optie. Maar ODBC is alleen goed voor relationele databases, terwijl OLEDB geschikt is voor zowel relationele als niet-relationele databases. Als de database geen OLE (niet-OLE-omgevingen) ondersteunt, dan is ODBC de beste keuze. Als de omgeving niet-SQL is, moet u OLEDB gebruiken (omdat ODBC alleen met SQL werkt). Op dezelfde manier, als interoperabele databasecomponenten nodig zijn, moet OLEDB in plaats van ODBC worden gebruikt. Voor 16-bits toegang tot gegevens is ODBC echter de enige optie (OLEDB ondersteunt niet 16-bits). Ten slotte is OLEDB de beste keuze voor het verbinden met meerdere databases tegelijk (ODBC kan alleen met één database tegelijkertijd verbinden).