ODBC vs ADO
Softwarové aplikace jsou obvykle psány v konkrétním programovacím jazyce (například Java, C # atd.), Zatímco databáze přijímají dotazy v jiném jazyce specifickém pro databázi (například SQL). Proto, když softwarová aplikace potřebuje přístup k datům v databázi, je vyžadováno rozhraní, které dokáže navzájem překládat jazyky (aplikace a databáze). Jinak se programátoři aplikací musí naučit a začlenit do svých aplikací jazyky specifické pro databázi. ODBC (Open Database Connectivity) a OLE DB (Object Linking and Embedding, Database) jsou dvě rozhraní, která řeší tento konkrétní problém. ODBC je rozhraní nezávislé na platformě, jazyce a operačním systému, které lze pro tento účel použít. OLE DB je nástupcem ODBC. ADO je obal pro OLE DB.
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 žádné standardní médium pro komunikaci mezi databází a aplikací. Nezáleží na konkrétním programovacím jazyce nebo na 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 jakékoli databáze, bez ohledu na prostředí, ve kterém běží, nebo na typ DBMS, který používá.
Protože ovladač ODBC funguje jako překladač mezi aplikací a databází, je ODBC schopen dosáhnout jazykové a platformové nezávislosti. 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í. Výsledky se pak vrátí ve formátu, kterému aplikace porozumí. Softwarové rozhraní API ODBC lze použít s relačními i nerelačními databázovými systémy. Další významnou výhodou existence ODBC jako univerzálního middlewaru mezi aplikací a databází je, že při každé změně specifikace databáze není nutné software aktualizovat. Stačila by pouze aktualizace ovladače ODBC.
Co je ADO?
ADO je kolekce objektů COM (režim komponentních objektů), které fungují jako rozhraní pro přístup k datům ve zdrojích dat. ADO byl vyvinut v roce 1996 společností Microsoft jako součást Microsoft Data Access Components (MDAC). ADO tvoří vrstvu middlewaru mezi aplikacemi napsanými v nějakém programovacím jazyce a OLE DB (datové API vyvinuté společností Microsoft a nástupcem ODBC). Programátoři mohou pomocí ADO přistupovat k datům, aniž by věděli o podrobnostech podkladové implementace databáze. Ačkoli pro použití ADO není nutné znát žádný SQL, můžete pomocí něj určitě provádět příkazy SQL.
Jaký je rozdíl mezi ODBC a ADO?
ODBC je otevřené rozhraní, které může libovolná aplikace použít ke komunikaci s libovolným databázovým systémem, zatímco ADO je obálka kolem OLE DB (která je nástupcem ODBC). Pokud databáze nepodporuje OLE (prostředí jiné než OLE), je nejlepší volbou ODBC. Pokud je prostředí jiné než SQL, musíte použít ADO (protože ODBC funguje pouze s SQL). Pokud jsou vyžadovány interoperabilní databázové komponenty, je třeba místo rozhraní ODBC použít ADO. Pro 16bitová data je však přístup k ODBC jedinou možností (ADO nepodporuje 16bitové). A konečně, ADO 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).