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