ODBC vs OLEDB
Softwarové aplikace jsou obvykle psány ve specifickém programovacím jazyce (jako je Java, C # atd.), Zatímco databáze přijímají dotazy v jiném jazyce specifickém pro databázi (jako je SQL). Proto, když softwarová aplikace potřebuje přístup k datům v databázi, je vyžadováno rozhraní, které může vzájemně překládat jazyky (aplikace a databáze). Jinak se aplikační programátoři musí učit a začlenit do svých aplikací jazyky specifické pro databázi. ODBC (Open Database Connectivity) a OLEDB (Object Linking and Embedding, Database) jsou dvě rozhraní, která řeší tento specifický problém. ODBC je rozhraní nezávislé na platformě, jazyce a operačním systému, které lze pro tento účel použít. OLEDB je nástupcem ODBC.
Co je ODBC?
ODBC je rozhraní pro přístup k systémům správy databází (DBMS). ODBC byl vyvinut společností SQL Access Group v roce 1992 v době, kdy neexistovalo standardní médium pro komunikaci mezi databází a aplikací. Nezávisí na konkrétním programovacím jazyce, databázovém systému nebo operačním systému. Programátoři mohou pomocí rozhraní ODBC psát aplikace, které mohou dotazovat data z libovolné databáze, bez ohledu na prostředí, na kterém běží, nebo na typ DBMS, který používá..
Protože ovladač ODBC funguje jako překladač mezi aplikací a databází, ODBC je schopen dosáhnout nezávislosti jazyka a platformy. To znamená, že aplikace je zbavena břemene znalosti jazyka specifického pro databázi. Místo toho bude znát a používat pouze syntaxi ODBS a ovladač přeloží dotaz do databáze v jazyce, kterému rozumí. Poté jsou výsledky vráceny ve formátu, kterému aplikace rozumí. ODBC software API lze použít s relačními i nerelačními databázovými systémy. Další hlavní výhoda, kterou má ODBC jako univerzální middleware mezi aplikací a databází, spočívá v tom, že pokaždé, když se změní specifikace databáze, není třeba software aktualizovat. Postačuje pouze aktualizace ovladače ODBC.
Co je OLEDB?
OLEDB je datové API vyvinuté společností Microsoft. Umožňuje přístup k datům z velkého množství zdrojů dat. Je implementován pomocí COM od společnosti Microsoft (Component Object Mode). OLEDB je považován za nástupce ODBC a dokáže zpracovávat zdroje dat v mnohem vyšší úrovni než ODBC. OLEDB v podstatě rozšiřuje funkce ODBC na nerelační databáze (např. Objektové databáze a tabulky). To znamená, že OLEDB lze použít s databázemi, které nepoužívají SQL. OLEDB byl vyvinut jako součást součástí Microsoft Data Access Components (MDAC).
Jaký je rozdíl mezi ODBC a OLEDB?
Pokud není programátor obeznámen s COM, pak ODBC je lepší volba. ODBC je však vhodný pouze pro relační databáze, zatímco OLEDB je vhodný pro relační i nerelační databáze. Pokud databáze nepodporuje OLE (prostředí bez OLE), pak je nejlepší volbou ODBC. Pokud je prostředí jiné než SQL, musíte použít OLEDB (protože ODBC pracuje pouze s SQL). Podobně, pokud jsou vyžadovány interoperabilní databázové komponenty, je třeba místo ODBC použít OLEDB. Pro 16bitová data je však jedinou možností přístup k ODBC (OLEDB nepodporuje 16bitové). A konečně, OLEDB je nejlepší volbou pro připojení k více databázím najednou (ODBC se může připojit pouze k jedné databázi najednou).