Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Správce ovladačů je knihovna, která spravuje komunikaci mezi aplikacemi a ovladači. Například na platformách Microsoft Windows je Správce ovladačů dynamickou knihovnou (DLL), která je napsaná společností Microsoft a lze ji distribuovat uživateli distribuovatelné sady MDAC 2.8 SP1 SDK.
Správce ovladačů existuje hlavně jako pohodlí pro zapisovače aplikací a řeší řadu problémů, které jsou společné pro všechny aplikace. Patří sem určení, který ovladač se má načíst na základě názvu zdroje dat, načítání a uvolňování ovladačů a volání funkcí v ovladačích.
Pokud chcete zjistit, proč se jedná o problém, zvažte, co by se stalo, když aplikace volala funkce v ovladači přímo. Pokud nebyla aplikace propojena přímo s konkrétním ovladačem, musela by vytvořit tabulku ukazatelů na funkce v tomto ovladači a volat tyto funkce ukazatelem. Použití stejného kódu pro více než jeden ovladač najednou by přidalo ještě další úroveň složitosti. Aplikace by nejprve musela nastavit ukazatel funkce tak, aby odkazoval na správnou funkci ve správném ovladači, a pak funkci volala pomocí tohoto ukazatele.
Správce ovladačů tento problém vyřeší poskytnutím jednoho místa pro volání jednotlivých funkcí. Aplikace je propojena se Správcem ovladačů a volá funkce ODBC ve Správci ovladačů, nikoli ovladač. Aplikace identifikuje cílový ovladač a zdroj dat pomocí popisovače připojení. Když načte ovladač, Správce ovladačů vytvoří tabulku ukazatelů na funkce v daném ovladači. Používá popisovač připojení předaný aplikací k vyhledání adresy funkce v cílovém ovladači a volání této funkce podle adresy.
Ve většině případů správce ovladačů právě předává volání funkcí z aplikace do správného ovladače. Implementuje ale také některé funkce (SQLDataSources, SQLDrivers a SQLGetFunctions) a provádí základní kontrolu chyb. Správce ovladačů například kontroluje, zda popisovače nejsou NULL, že funkce jsou volány ve správném pořadí a že všechny argumenty funkcí jsou platné. Úplný popis chyb kontrolovaných správcem ovladačů najdete v referenční části pro každou funkci a dodatek B: Tabulky přechodu stavu ODBC.
Poslední hlavní rolí Správce ovladačů je načítání a uvolňování ovladačů. Aplikace načte a uvolní pouze správce ovladačů. Pokud chce použít konkrétní ovladač, volá funkci připojení (SQLConnect, SQLDriverConnect nebo SQLBrowseConnect) ve Správci ovladačů a určuje název konkrétního zdroje dat nebo ovladače, například "Účetnický" nebo "SQL Server". Pomocí tohoto názvu správce ovladačů vyhledá informace o zdroji dat název souboru ovladače, například Sqlsrvr.dll. Potom načte ovladač (za předpokladu, že ještě není načten), uloží adresu každé funkce v ovladači a zavolá funkci připojení v ovladači, která se pak inicializuje a připojí se ke zdroji dat.
Po dokončení aplikace pomocí ovladače volá SQLDisconnect ve Správci ovladačů. Správce ovladačů volá tuto funkci v ovladači, který se odpojí od zdroje dat. Správce ovladačů však udržuje ovladač v paměti pro případ, že se k němu aplikace znovu připojí. Uvolní ovladač pouze v případě, že aplikace uvolní připojení používané ovladačem nebo použije připojení pro jiný ovladač a žádná jiná připojení ovladač nepoužívají. Úplný popis role Správce ovladačů při načítání a uvolňování ovladačů najdete v tématu Role Správce ovladačů v procesu připojení.