Rozdíl mezi OLEDB a ODBC

ODBC vs OLEDB

Pokud víte, co to je, pravděpodobně jste vývojář. Pokud nevíte, co jsou, ale chcete vědět - pravděpodobně jste budoucí vývojář.

Kvůli technické povaze tohoto srovnání jsem na konci článku zahrnul glosář termínů. Pokud jste v takovém druhu nováčkem, možná byste se na to měli nejprve podívat.

Pojďme se podívat na tyto termíny, na co jsou používány a na které z nich doporučuji.

Definování podmínek

Architektura ovladačů ODBC

ODBC je zkratka pro připojení k otevřené databázi. Jedná se o standard rozhraní navržený pro komunikaci mezi různými aplikacemi a operačními systémy (OS).

Například, pokud jste použili program napsaný pro Linux, ale chtěli jste, abych také pracoval (OS). Vaše odpověď by byla API jako ODBC.

V minulých dnech byly programy přepisovány zcela pro nový nebo jiný operační systém. Tento proces byl neefektivní.

ODBC se objevil v roce 1992 k vyřešení tohoto problému.

ODBC byl původně vytvořen pro Structured Query Language (SQL). Od té doby se rozšířil o více programovacích jazyků.

OLE BD je zkratka pro propojení objektů a vkládání databáze. Toto je skupina rozhraní API navržená k poskytování přístupu k datům aplikace v různých formátech souborů. To zahrnovalo schopnost SQL (jako ODBC) a mnoho dalších jazyků.

OLE BD byl nastaven na úspěch ODBC, ale věci se změnily ...

ODBC vs. OLEDB

ODBC byl původně zaměřen na SQL a pokud používáte SQL, má smysl jít s ODBC. Zjevnou volbou byl OLEDB. Ale jak se dozvíte později v článku, poslední vydání SQL na podporu OLEDB bylo spuštěno v roce 2012. A je to postupné vyřazování.

Tato změna strategie Microsoftu nezabránila. Mnoho tvrdohlavých uživatelů se tak dlouho drželo ODBC, takže tento pohyb dával smysl. Také zde byla skutečnost, že ODBC se rozšiřoval.

Pokud jde o rozdíl mezi těmito dvěma, je velmi těžké říci, aniž by to bylo velmi technické.

Jádrem jsou různá API pro různé zdroje dat.

Jeden názor je, že ODBC je konkrétnější a do té míry, že OLEDB je příliš obecný a příliš komplikovaný.

Aktuální podpora

Zahájení SQL 2012 bylo posledním podporujícím OLEDB. Tím se zvýší hlasování ve prospěch ODBC.

ODBC rozšířila svou kompatibilitu s použitím ovladačů, což je hlavní hnací faktor při změně strategie společností Microsoft.

Vývojáři se musí přizpůsobit

Výše uvedené vydání SQL (denali) přichází se sedmi lety podpory pro OLEDB. To znamená, že jak píšu, vývojářům zbývá jen dva roky na přizpůsobení.

Každý chápe, že může být obtížné se přizpůsobit, ale uživatelé OLEDB nebudou mít brzy na výběr.

Rozdíly mezi ODBC a OLEDB

Zůstaňte se mnou, je to velmi technické. Pro snadnější čtení jsem informace uložil v tabulce.

Tato tabulka vychází z informací technickým dokumentem white paper z ftp.sas.com

ODBC OLEDB
Původně navržen pro relační databáze. (od změny) Původně navržen pro nerelační a relační databáze.
Průběžná podpora pro SQL Podpora SQL neplatná 2019
Komponenty Procedurální
Těžší nasazení Snadnější nasazení

To jen asi shrnuje. Doufám, že nyní máte lepší přehled o rozdílech mezi ODBC a OLEDB. Pokud tak neučiníte, poskytl jsem několik dalších informací níže a také odkaz na výše uvedený technický dokument.

Pokud máte zkušenosti s používáním těchto dvou rozhraní API, proč nám o tom nevíte v komentářích? Dostali jsme něco špatně? Existuje něco, co byste mohli přidat pro nováčky?

Rádi bychom od vás slyšeli v komentářích.

Glosář

ODBC: Připojení k otevřené databázi

OLE DB: Propojení a vkládání databáze objektů

OS: operační systém (jako Windows)

API: Application Programming Interface

Relační databáze: Sada datových položek seřazených do tabulek. K datovým položkám lze přistupovat a znovu je sestavovat bez reorganizace databázových tabulek.

Non-relační databáze: Nesplňuje relační standard. Také známý jako NoSQL databáze.

Další čtení

Odkaz na (zastaralý - viz výše, OLEDB ztrácí funkčnost SQL) Dokument white paper: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Relační vs. nerelační databáze: https://www.mongodb.com/scale/relational-vs-non-relational-database

Názory uživatelů na ODBC vs. OLEDB: https://community.qlik.com/thread/106540