Skillnad mellan OLEDB och ODBC

ODBC vs OLEDB

Om du vet vad de är, är du förmodligen en utvecklare. Om du inte vet vad de är, men vill veta, är du förmodligen en framtida utvecklare.

På grund av den tekniska karaktären av denna jämförelse har jag tagit med en ordlistor i slutet av artikeln. Om du är ny på denna typ av sak kanske du vill ta en titt på det först.

Låt oss ta en titt på dessa villkor, vad de är vana vid och vilken jag rekommenderar.

Definiera villkor

ODBC Driver Architecture

ODBC är kort för Open Database Connecting. Det är en gränssnittsstandard, avsedd för kommunikation mellan olika appar och operativsystem (OS).

Som till exempel, om du använde skrivet ett program för Linux, men du ville att jag skulle jobba i (OS). Ditt svar skulle vara ett API som ODBC.

Idag har programmen blivit omskrivna helt för nya eller olika operativsystem. Processen var ineffektiv.

ODBC dök upp i 1992 för att lösa det problemet.

ODBC skapades ursprungligen för Structured Query Language (SQL). Sedan dess har den utvidgats för att hantera flera programmeringsspråk.

OLE BD är kort för Object Linking och Embedding Database. Det här är en grupp API som är utformad för att ge tillgång till appdata i olika filformat. Detta inkluderade SQL-kapacitet (som ODBC) och många andra språk.

OLE BD sattes för att lyckas ODBC, men saker ändrade ...

ODBC vs OLEDB

ODBC var inledningsvis inriktad på SQL och, om du använder SQL, är det meningsfullt att gå med ODBC. Det uppenbara valet var OLEDB. Men som du får reda på senare i artikeln lanserades den senaste SQL-utgåvan för att stödja OLEDB under 2012. Och det avvecklas snabbt.

Denna förändring av strategin från Microsoft tog lite av vakt. Många envisa användare klungde till ODBC så länge, så rörelsen var förnuftig. Det fanns också det faktum att ODBC expanderades.

När det gäller skillnaden mellan dessa två är det mycket svårt att säga utan att bli mycket teknisk.

Kärnan är de olika API-skivor för olika datakällor.

En uppfattning är att ODBC är mer specifik och till den punkt där OLEDB är alltför generisk och överkomplicerad.

Nuvarande support

SQL: s lansering för 2012 var den sista som stödde OLEDB. Detta skingrar omröstningen till ODBC.

ODBC har utökat sin kompatibilitet med användningen av drivrutiner, vilket är en viktig drivkraft i förändringen av strategin från Microsoft.

Utvecklare behöver anpassa sig

Ovan nämnda SQL-release (denali) kom med sju års stöd till OLEDB. Det betyder att när jag skriver detta har utvecklare bara två år kvar att anpassa sig.

Alla förstår att det kan vara svårt att anpassa sig, men OLEDB-användare kommer snart inte ha något val.

Skillnaderna mellan ODBC och OLEDB

Bär med mig, det är på väg att bli väldigt tekniskt. För att underlätta läsningen har jag inneburit informationen i en tabell.

Denna tabell är baserad på information från ett tekniskt vitt papper från ftp.sas.com

ODBC OLEDB
Ursprungligen designad för relationsdatabaser. (sedan ändrat) Ursprungligen utformad för icke-relationella och relationella databaser.
Ständigt stöd för SQL SQL-stöd tomt 2019
Komponentbaserad Procedurbaserad
Svårare att distribuera Lättare att distribuera

Det summerar bara det. Jag hoppas att du förstår skillnaden mellan ODBC och OLEDB nu. Om du inte har det, har jag lagt fram ytterligare läsning nedan, samt en länk till det ovannämnda tekniska dokumentet.

Om du har erfarenhet av att använda dessa två API: er, varför inte meddela oss i kommentarerna? Fick vi något fel? Finns det något du kan lägga till för nybörjare där ute?

Vi skulle gärna höra från dig i kommentarerna.

Ordlista

ODBC: Öppna databasanslutning

OLE DB: Objektlänkning och inbäddad databas

OS: Operativsystem (som Windows)

API: Application Programming Interface

Relationsdatabas: En uppsättning dataobjekt sorterade i tabeller. Datapunkterna kan nås och återmonteras utan att omorganisera databastabellerna.

Icke-relationell databas: följer inte relationsstandarden. Även känd som NoSQL-databas.

Vidare läsning

Länk till (föråldrad - se ovan, OLEDB förlorar SQL-funktionalitet) vitt papper: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Relativ vs icke-relationell databas: https://www.mongodb.com/scale/relational-vs-non-relational-database

Användarnas åsikter på ODBC vs OLEDB: https://community.qlik.com/thread/106540