Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Illesztőprogram-kezelő új funkciója a Windows 8-ban az illesztőprogram-tudatos kapcsolatkészletezés. Az illesztőprogram-tudatos kapcsolatkészletezés lehetővé teszi, hogy az illesztőprogram-írók testre szabják a kapcsolatkészletezési viselkedést az ODBC-illesztőprogramban.
Megjegyzés:
Az illesztőprogramokhoz kapcsolódó kapcsolatkészletezést a kurzorkönyvtár nem támogatja. Ha egy alkalmazás az SQLSetConnectAttr használatával próbálja engedélyezni a kurzortárat, hibaüzenet jelenik meg, ha engedélyezve van az illesztőprogram-kompatibilis kapcsolatkészletezés.
A Driver Manager kapcsolatkészletével kapcsolatos alábbi problémákat oldja meg a driver-tudatos kapcsolatkészlet használata:
Készlet töredezettsége Az Illesztőprogram-kezelő csak akkor ad vissza kapcsolatot a készletből, ha az pontosan egyezik egy új kapcsolatkérés kapcsolati sztringjével. Az illesztőprogram-kezelő egyik oka, hogy pontos egyezést követeljen meg, az, hogy az Illesztőprogram-kezelő nem érti az illesztőprogram-specifikus kapcsolati karakterlánc kulcsszót és annak értékét. Előfordulhat azonban, hogy bizonyos kapcsolati sztring kulcsszóértékek (például az adatbázis neve) nem igényelnek pontos egyezést, mivel az illesztőprogram kevesebb idő alatt módosíthatja az adatbázist, mint amennyi egy új kapcsolat megnyitásához szükséges (a pontos időkülönbség az adatforrástól függ). Egyes kapcsolati attribútumok (például SQL_ATTR_CURRENT_CATALOG) eltérései több időt is igénybe vehetnek a változáshoz, mint más attribútumok (például SQL_ATTR_LOGIN_TIMEOUT) közötti különbségek. Ez is akadályozhatja az Illesztőprogram-kezelőt abban, hogy a legalacsonyabb költségű, újrafelhasználható kapcsolatot használja a készletből. Ha egy illesztőprogramnak sok új kapcsolatot kell létrehoznia, az alkalmazás teljesítménye csökkenhet, és az adatforrás méretezhetősége csökkenhet. A készlet töredezettsége csökkenthető az illesztőprogram-tudatos kapcsolatkészletezéssel, mivel az illesztőprogramok jobban meg tudják becsülni a készletben lévő kapcsolatok kapcsolatkéréshez való újrafelhasználásának költségeit.
Nincs figyelembe véve az alkalmazás preferenciája Egyes adatforrások hatékonyan nyithatnak meg új kapcsolatokat (összehasonlítva néhány attribútum alaphelyzetbe állításával), ezért előfordulhat, hogy egy alkalmazás inkább új kapcsolatot nyit meg ahelyett, hogy egy kissé eltérő kapcsolatot próbálna újra használni a készletből, és alaphelyzetbe állíthat néhány értéket (bár ez lassabb lehet a kapcsolatkészlet inicializálási kifejezése során). Egyes alkalmazások azonban csökkenthetik a kiszolgáló terhelését, és kevesebb kapcsolatot nyithatnak meg, bár előfordulhat, hogy nagyobb költségek merülnek fel a helytelen viselkedés javítása érdekében. Az illesztőprogram-tudatos kapcsolatkészletezés nélkül nem adhatja meg hatékonyan ezt a fajta beállítást, mert az Illesztőprogram-kezelő nem ismeri fel az illesztőprogram-specifikus kapcsolati attribútumokat. Az illesztőprogram-tudatos kapcsolatkészletezés lehetővé teszi, hogy az illesztőprogramok megkapják a felhasználói beállításokat (az SQLSetConnectAttr illesztőprogram-specifikus attribútumával), hogy jobban meg tudják becsülni a felhasználó preferenciája alapján a készletből való újrahasználás költségeit.
Az illesztőprogram-tudatos kapcsolatkészletezésről további információt az ODBC-illesztőprogramok Connection-Pool tudatosságának fejlesztése című témakörben talál.
Illesztőprogram-támogatás meghatározása
Az illesztőprogram-tudatos kapcsolatkészletezés olyan opcionális funkció, amelyet az illesztőprogram nem feltétlenül támogat. Annak megállapításához, hogy egy illesztőprogram támogatja-e, használja az SQLGetInfo SQL_DRIVER_AWARE_POOLING_SUPPORTED InfoType-fájlját.
Driver-Aware kapcsolatkészletezés engedélyezése
Az alkalmazások használhatják az illesztőprogramok kapcsolatkészletezési tudatosságát úgy, hogy a SQL_ATTR_CONNECTION_POOLING attribútumot az SQLSetEnvAttr SQL_CP_DRIVER_AWARE értékre állítja. Ha egy illesztőprogram nem támogatja a kapcsolatkészlet-tudatosságot, a Rendszer az Illesztőprogram-kezelő kapcsolatkészletezését használja (ugyanaz, mintha SQL_CP_ONE_PER_HENV lett volna megadva a SQL_CP_DRIVER_AWARE helyett). Az ODBC 2.x és 3.x alkalmazások engedélyezhetik ezt a funkciót.