Megosztás a következőn keresztül:


OLE DB, ODBC és Oracle-kapcsolatkészletezés

A kapcsolatok készletezése jelentősen javíthatja az alkalmazás teljesítményét és méretezhetőségét. Ez a szakasz az OLE DB, ODBC és Oracle .NET-keretrendszer adatszolgáltatók kapcsolatkészletezését ismerteti.

Oledb

Az OLE DB .NET-keretrendszer adatszolgáltatója automatikusan készleteket hoz létre a kapcsolatokhoz az OLE DB-munkamenetkészletezés használatával. Csatlakozás ion karakterlánc argumentumokkal engedélyezheti vagy letilthatja az OLE DB-szolgáltatásokat, beleértve a készletezést is. Az alábbi kapcsolati sztring például letiltja az OLE DB-munkamenetek készletezését és az automatikus tranzakcióbesorolást.

Provider=SQLOLEDB;OLE DB Services=-4;Data Source=localhost;Integrated Security=SSPI;

Azt javasoljuk, hogy ha végzett a használattal, mindig zárja be vagy helyezze el a kapcsolatot, hogy vissza tudja adni a kapcsolatot a készletnek. A kifejezetten nem bezárt Csatlakozás nem biztos, hogy visszakerülnek a készletbe. A hatókörön kívül eső, de explicit módon nem lezárt kapcsolatot például csak akkor adja vissza a rendszer a kapcsolatkészletnek, ha elérte a készlet maximális méretét, és a kapcsolat továbbra is érvényes.

Az OLE DB-munkamenetről vagy erőforráskészletezésről, valamint a készletezés letiltásáról az OLE DB szolgáltatói szolgáltatás alapértelmezéseinek felülbírálásával történő letiltásáról az OLE DB programozói útmutatójában olvashat.

ODBC

Csatlakozás .NET-keretrendszer ODBC-adatszolgáltató készletezését a kapcsolathoz használt ODBC-illesztőprogram-kezelő kezeli, és az ODBC .NET-keretrendszer adatszolgáltatója nem érinti.

A kapcsolatkészletezés engedélyezéséhez vagy letiltásához nyissa meg az ODBC-adatforrás Rendszergazda istratort a Vezérlőpult Rendszergazda istrative Tools mappájában. A Csatlakozás ion Készletezés lap lehetővé teszi a kapcsolatkészletezési paraméterek megadását minden telepített ODBC-illesztőhöz. Csatlakozás adott ODBC-illesztő készletezési módosításai az adott ODBC-illesztőprogramot használó összes alkalmazást érintik.

OracleClient

Az Oracle .NET-keretrendszer adatszolgáltatója automatikusan biztosítja a kapcsolatkészletezést a ADO.NET ügyfélalkalmazáshoz. Több kapcsolati sztring módosítóval is szabályozhatja a kapcsolatkészletezési viselkedést (lásd a jelen témakör későbbi, "A Csatlakozás ion-készletezés szabályozása Csatlakozás ion-sztringszavakkal" című szakaszát).

Készletek létrehozása és hozzárendelése

A kapcsolat megnyitásakor egy kapcsolatkészlet jön létre egy pontosan egyező algoritmus alapján, amely a készletet a kapcsolat kapcsolati sztring társítja. Minden kapcsolatkészlet külön kapcsolati sztring van társítva. Új kapcsolat megnyitásakor, ha a kapcsolati sztring nem egyezik meg egy meglévő készletével, létrejön egy új készlet.

A létrehozás után a kapcsolatkészletek nem lesznek megsemmisítve, amíg az aktív folyamat véget nem ér. Az inaktív vagy üres készletek fenntartása nagyon kevés rendszererőforrást használ.

Csatlakozás ion hozzáadása

Minden egyes egyedi kapcsolati sztring létrejön egy kapcsolatkészlet. Készlet létrehozásakor a rendszer több kapcsolati objektumot hoz létre és ad hozzá a készlethez, hogy a készlet minimális méretkövetelménye teljesüljön. A Csatlakozás szükség szerint hozzáadódnak a készlethez, a készlet maximális méretének megfelelően.

Amikor egy OracleConnection objektumot kérnek, a rendszer a készletből szerzi be, ha használható kapcsolat áll rendelkezésre. Ahhoz, hogy használható legyen, a kapcsolatnak jelenleg nem használtnak kell lennie, egyező tranzakciós környezettel kell rendelkeznie, vagy nem kell semmilyen tranzakciós környezethez társítania, és érvényes hivatkozással kell rendelkeznie a kiszolgálóra.

Ha elérte a maximális készletméretet, és nem érhető el használható kapcsolat, a kérés várólistára kerül. A kapcsolatkészletező úgy teljesíti ezeket a kéréseket, hogy újratelepíti a kapcsolatokat a készletbe való visszaengedéskor. Csatlakozás a rendszer visszaengedi őket a készletbe, amikor bezárják vagy megsemmisítik őket.

Csatlakozás ion eltávolítása

A kapcsolatkészletező eltávolít egy kapcsolatot a készletből, miután hosszabb ideig tétlen volt, vagy ha a készletező észleli, hogy a kiszolgálóval való kapcsolat megszakadt. Ez csak a kiszolgálóval való kommunikáció után észlelhető. Ha olyan kapcsolat található, amely már nem csatlakozik a kiszolgálóhoz, érvénytelenként van megjelölve. A kapcsolatkészletező rendszeresen ellenőrzi a kapcsolatkészleteket, és megkeresi a készlethez kiadott és érvénytelenként megjelölt objektumokat. Ezek a kapcsolatok ezután véglegesen törlődnek.

Ha egy olyan kiszolgálóhoz van kapcsolat, amely eltűnt, akkor ez a kapcsolat akkor vonható le a készletből, ha a kapcsolatkészletező nem észlelte a megszakított kapcsolatot, és érvénytelenként jelölte meg. Ha ez történik, a rendszer kivételt hoz létre. Azonban a kapcsolatnak a készletbe való visszaengedéséhez továbbra is be kell zárnia a kapcsolatot.

Az osztály metódusában Finalize ne hívjon fel vagy ne használjon ConnectionDisposeClose egy , egyDataReader, vagy bármely más felügyelt objektumot. A véglegesítőben csak az osztály tulajdonában lévő nem felügyelt erőforrásokat szabadíthatja fel. Ha az osztály nem rendelkezik nem felügyelt erőforrásokkal, ne foglaljon bele metódust Finalize az osztálydefinícióba. További információ: Szemétgyűjtés.

Tranzakciótámogatás

Csatlakozás a készletből származnak, és a tranzakciós környezet alapján vannak hozzárendelve. A kérési szál környezetének és a hozzárendelt kapcsolatnak egyeznie kell. Ezért minden kapcsolatkészlet olyan kapcsolatokra van felosztva, amelyekhez nincs társított tranzakciókörnyezet, és N alosztályokra, amelyek mindegyike egy adott tranzakciókörnyezettel rendelkező kapcsolatokat tartalmaz.

Ha egy kapcsolat bezárul, a rendszer visszaengedi a készletbe és a megfelelő albontásba a tranzakciós környezet alapján. Ezért hiba nélkül is bezárhatja a kapcsolatot, még akkor is, ha egy elosztott tranzakció még függőben van. Ez lehetővé teszi, hogy később véglegesítse vagy megszakítsa az elosztott tranzakciót.

A Csatlakozás ion-készletezés szabályozása Csatlakozás ion-sztringszavakkal

Az ConnectionString objektum tulajdonsága támogatja kapcsolati sztring OracleConnection kulcs/érték párokat, amelyek a kapcsolatkészletezési logika viselkedésének módosítására használhatók.

Az alábbi táblázat a ConnectionString kapcsolatkészletezési viselkedés módosításához használható értékeket ismerteti.

Név Alapértelmezett Leírás
Connection Lifetime 0 Amikor egy kapcsolat visszakerül a készletbe, annak létrehozási ideje az aktuális időponttal lesz összehasonlítva, és a kapcsolat megszakad, ha ez az időtartam (másodpercben) meghaladja a megadott Connection Lifetimeértéket. Ez a fürtözött konfigurációkban hasznos, ha terheléselosztást kényszerít egy futó kiszolgáló és egy most online állapotba hozott kiszolgáló között.

A nulla (0) érték a készletezett kapcsolatok maximális időtúllépését eredményezi.
Enlist "igaz" Amikor truea készletező automatikusan bevonja a kapcsolatot a létrehozási szál aktuális tranzakciós környezetében, ha létezik tranzakciós környezet.
Max Pool Size 100 A készletben engedélyezett kapcsolatok maximális száma.
Min Pool Size 0 A készletben fenntartott kapcsolatok minimális száma.
Pooling "igaz" Amikor truea kapcsolat a megfelelő készletből jön létre, vagy szükség esetén létrejön és hozzáadódik a megfelelő készlethez.

Lásd még