Forskellen mellem OLEDB og ODBC

ODBC vs OLEDB

Hvis du ved, hvad de er, er du sandsynligvis en udvikler. Hvis du ikke ved, hvad de er, men vil vide - er du sandsynligvis en fremtidig udvikler.

På grund af denne tekniske sammenligning har jeg inkluderet en ordliste med udtryk i slutningen af ​​artiklen. Hvis du er ny på denne slags ting, kan du først se på det.

Lad os se på disse udtryk, hvad de bruges til, og hvilken jeg anbefaler.

Definition af vilkår

ODBC Driver Arkitektur

ODBC er en forkortelse for Open Database Connecting. Det er en interfacestandard, designet til kommunikation mellem forskellige apps og operativsystemer (OS).

Som for eksempel hvis du brugte skrev et program til Linux, men du ville have, at jeg også skulle arbejde i (OS). Dit svar ville være en API som ODBC.

I de forløbne dage blev programmer brugt til at blive omskrevet helt til nyt eller andet operativsystem. Processen var ineffektiv.

ODBC dukkede op i 1992 for at løse dette problem.

ODBC blev oprindeligt oprettet til SQL (Structured Query Language). Det er siden udvidet til at håndtere flere programmeringssprog.

OLE BD er en forkortelse af objektlinking og indlejring af database. Dette er en gruppe af API'er designet til at give adgang til appdata i forskellige filformater. Dette inkluderede SQL-kapacitet (som ODBC) og mange andre sprog.

OLE BD var indstillet til at lykkes med ODBC, men tingene ændrede sig ...

ODBC vs. OLEDB

ODBC var oprindeligt fokuseret på SQL, og hvis du bruger SQL, er det fornuftigt at gå med ODBC. Tidligere var det åbenlyse valg OLEDB. Men som du finder ud af senere i artiklen, blev den sidste SQL-udgivelse til støtte for OLEDB lanceret i 2012. Og den udfases hurtigt.

Denne ændring i strategi fra Microsoft tog noget væk. Mange stædige brugere holdt sig fast ved ODBC så længe, ​​så flytningen gav mening. Der var også den kendsgerning, at ODBC ekspanderede.

Hvad forskellen mellem disse to angår, er det meget svært at sige uden at blive meget teknisk.

I kernen er de forskellige API'er til forskellige datakilder.

En mening er, at ODBC er mere specifik og til det punkt, hvor OLEDB er alt for generisk og for kompliceret.

Aktuel support

SQL's lancering i 2012 var den sidste, der understøttede OLEDB. Dette skæver afstemningen til fordel for ODBC.

ODBC har udvidet sin kompatibilitet med brugen af ​​drivere, som er en vigtig drivende faktor i Microsoft's strategiændring.

Udviklere skal tilpasse sig

Ovennævnte SQL-frigivelse (denali) kom med syv års støtte til OLEDB. Dette betyder, at når jeg skriver dette, har udviklere kun to år tilbage til at tilpasse sig.

Alle forstår, at det kan være svært at tilpasse sig, men OLEDB-brugere vil ikke have noget valg meget snart.

Forskellene mellem ODBC og OLEDB

Bær med mig, det er ved at blive meget teknisk. For nem læsning har jeg indeholdt oplysningerne i en tabel.

Denne tabel er baseret på information fra en teknisk hvidbog fra ftp.sas.com

ODBC OLEDB
Oprindeligt designet til relationelle databaser. (siden ændret) Oprindeligt designet til ikke-relationelle og relationelle databaser.
Løbende support til SQL SQL-support ugyldig i 2019
Komponent-baserede Procedural-baserede
Sværere at installere Nemmere at implementere

Det opsummerer næsten det. Jeg håber, du har et bedre greb om forskellen mellem ODBC og OLEDB nu. Hvis du ikke gør det, har jeg givet nogle yderligere læsninger nedenfor samt et link til det tekniske papir, der er nævnt ovenfor.

Hvis du har erfaring med at bruge disse to API'er, hvorfor så ikke give os besked i kommentarerne? Fik vi noget forkert? Er der noget, du kan tilføje til newbies derude?

Vi vil meget gerne høre fra dig i kommentarerne.

Ordliste

ODBC: Åben databasetilslutning

OLE DB: Objeklinking og indlejring af database

OS: Operativsystem (som windows)

API: Application Programming Interface

Relationsdatabase: Et sæt dataelementer sorteret i tabeller. Dataelementerne kan åbnes og samles igen uden at omorganisere databasetabellerne.

Ikke-relationel database: Følger ikke den relationelle standard. Også kendt som NoSQL-database.

Yderligere læsning

Link til (forældet - se ovenfor, OLEDB mister SQL-funktionalitet) hvidbog: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Relations vs. ikke-relationel database: https://www.mongodb.com/scale/relational-vs-non-relational-database

Brugermening om ODBC vs. OLEDB: https://community.qlik.com/thread/106540