Sdílet prostřednictvím


Driver-Aware sdružování připojení

Sdružování připojení pracujících s ovladači je nová funkce Správce ovladačů ve Windows 8. Sdružování připojení uvědomělé o ovladači umožňuje tvůrcům ovladačů přizpůsobit chování sdružování připojení v ovladači ODBC.

Poznámka:

Sdružování připojení s podporou ovladačů není v knihovně kurzorů podporováno. Aplikace obdrží chybovou zprávu, pokud se pokusí povolit knihovnu kurzoru prostřednictvím SQLSetConnectAttr, pokud je povoleno sdružování připojení s podporou ovladače.

Sdružování připojení pracujících s ovladači řeší následující problémy související s sdružováním připojení Správce ovladačů:

Fragmentace fondu Správce ovladačů vrátí připojení z fondu pouze tehdy, pokud se přesně shoduje s připojovacím řetězcem nové žádosti o připojení. Jedním z důvodů, proč správce ovladačů vyžaduje přesnou shodu, je to, že Správce ovladačů nerozumí každému klíčovému slovu připojovacího řetězce specifického pro ovladač a jeho hodnotu. Některé hodnoty klíčových slov připojovacího řetězce (například název databáze) však nemusí vyžadovat přesnou shodu, protože ovladač může databázi změnit za méně než čas potřebný k otevření nového připojení (přesný časový rozdíl závisí na zdroji dat). A změny v některých atributech připojení (například SQL_ATTR_CURRENT_CATALOG) mohou trvat déle než změny v jiných atributech (například SQL_ATTR_LOGIN_TIMEOUT). To také může zabránit Správci ovladačů v použití nejlevnějšího opakovaně použitelného připojení z fondu. Když ovladač musí vytvořit mnoho nových připojení, může výkon aplikace snížit a škálovatelnost zdroje dat se může snížit. Fragmentaci fondu je možné snížit pomocí sdružování připojení s podporou ovladače, protože ovladač může lépe odhadnout náklady na opakované použití připojení ve fondu pro žádost o připojení.

Není třeba brát v úvahu předvolbu aplikace . Některé zdroje dat můžou efektivně otevírat nová připojení (ve srovnání s resetováním některých atributů), takže aplikace může raději otevřít nové připojení místo toho, aby se pokusila znovu použít mírně neodpovídající připojení z fondu a resetovat některé hodnoty (i když to může být pomalejší během inicializační fráze fondu připojení). Některé aplikace ale mohou udržet zatížení serveru menší a otevřít méně připojení, i když mohou být vyšší náklady na opravu nesouladů pro zajištění správného chování. Bez sdružování připojení s vědomím ovladače nelze efektivně specifikovat tento druh předvolby, protože Správce ovladačů nerozpozná všechny atributy připojení specifické pro ovladače. Řízené sdružování připojení s ohledem na ovladač umožňuje ovladači získat uživatelskou předvolbu (pomocí atributu specifického pro ovladač SQLSetConnectAttr), aby mohl lépe odhadnout náklady na opětovné použití připojení z fondu podle uživatelských preferencí.

Další informace o sdružování připojení s povědomím ovladačů naleznete v tématu Vývoj povědomí o sdružování připojení v ovladači ODBC.

Určení podpory ovladačů

Sdružování připojení podporujících ovladače je volitelná funkce, kterou ovladač nemusí podporovat. Chcete-li zjistit, zda ovladač tuto funkci podporuje, použijte SQL_DRIVER_AWARE_POOLING_SUPPORTED InfoType ve SQLGetInfo.

Jak povolit sdružování připojení typu Driver-Aware

Aplikace může využívat povědomí o sdružování připojení ovladače nastavením atributu SQL_ATTR_CONNECTION_POOLING na SQL_CP_DRIVER_AWARE pomocí SQLSetEnvAttr. Pokud ovladač nepodporuje podporu povědomí o fondu připojení, použije se sdružování připojení pomocí Správce ovladačů (stejné jako v případě, že bylo zadáno SQL_CP_ONE_PER_HENV místo SQL_CP_DRIVER_AWARE). Aplikace ODBC 2.x a 3.x mohou tuto funkci povolit.

Viz také

Vývoj ovladače ODBC