Sdílet prostřednictvím


Co je ODBC?

V výpočetním světě existuje mnoho chybných představ o rozhraní ODBC. Pro koncového uživatele se jedná o ikonu v Ovládacích panelech systému Microsoft Windows. Pro programátora aplikace je to knihovna obsahující rutiny přístupu k datům. Pro mnoho dalších je to odpověď na všechny problémy s přístupem k databázi, které jste si někdy představovali.

Rozhraní ODBC je především specifikace pro databázové rozhraní API. Toto rozhraní API je nezávislé na jednom DBMS nebo operačním systému; i když tato příručka používá jazyk C, rozhraní ODBC API je nezávislé na jazyce. Rozhraní ODBC API je založené na specifikacích rozhraní příkazového řádku od Open Group a ISO/IEC. ODBC 3. x plně implementuje obě tyto specifikace – starší verze ROZHRANÍ ODBC byly založeny na předběžných verzích těchto specifikací, ale plně je neimplementovaly – a přidává funkce, které běžně potřebují vývojáři databázových aplikací založených na obrazovkách, jako jsou posuvné kurzory.

Funkce v rozhraní ODBC API jsou implementovány vývojáři ovladačů specifických pro DBMS. Aplikace volají funkce v těchto ovladačích pro přístup k datům nezávisle na DBMS. Správce ovladačů spravuje komunikaci mezi aplikacemi a ovladači.

Ačkoli Microsoft poskytuje správce ovladačů pro počítače se systémem Microsoft Windows 95 a novějším, napsal několik ovladačů ODBC a volá funkce ODBC z některých svých aplikací, každý může psát aplikace a ovladače ODBC. Ve skutečnosti většina aplikací a ovladačů ODBC, které jsou k dispozici dnes, jsou napsány jinými společnostmi než Microsoft. Ovladače a aplikace ODBC navíc existují na macOS a na různých platformách UNIX.

Microsoft nabízí sadu ODBC Software Development Kit (SDK) pro počítače se systémem Windows 95 a novějším, které poskytují správce ovladačů, instalační knihovnu DLL, testovací nástroje a ukázkové aplikace. Společnost Microsoft se spojila se společností Visigenic Software, aby tyto SDK portovala na Macintosh a různé platformy UNIX.

Je důležité si uvědomit, že rozhraní ODBC je navržené tak, aby zpřístupnilo možnosti databáze, nikoli je doplňoval. Autoři aplikací by proto neměli očekávat, že použití rozhraní ODBC náhle promění jednoduchou databázi v plně funkční relační databázový stroj. Neočekává se ani, že autoři ovladačů budou implementovat funkce, které nejsou v podkladové databázi. Výjimkou jsou vývojáři, kteří píšou ovladače přímo přistupující k datům v souborech (například k datům v souborech Xbase), a musí vytvořit databázový systém, který podporuje alespoň základní funkcionalitu SQL. Další výjimkou je, že součást ODBC sady Windows SDK, která byla dříve součástí sady MICROSOFT Data Access Components (MDAC), poskytuje knihovnu kurzorů, která simuluje posouvání kurzorů pro ovladače, které implementují určitou úroveň funkčnosti.

Aplikace, které používají rozhraní ODBC, zodpovídají za všechny funkce napříč databázemi. Odbc například není heterogenní modul spojení, ani není distribuovaným procesorem transakcí. Vzhledem k tomu, že je nezávislá na DBMS, lze ji použít k vytváření takových nástrojů pro různé databáze.