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.
Soulad
Představená verze: ODBC 3.81 Shoda standardů: ODBC
Summary
SQLRateConnection určuje, zda může ovladač znovu použít existující spojení v poolu připojení.
Syntax
SQLRETURN SQLRateConnection(
SQLHDBC_INFO_TOKEN hRequest,
SQLHDBC hCandidateConnection,
BOOL fRequiredTransactionEnlistment,
TRANSID transId,
DWORD * pRating );
Arguments
hRequest
[Vstup] Token handle reprezentující nový požadavek na připojení aplikace.
hCandidateConnection
[Vstup] Stávající spojení v připojovacím poolu. Spojení musí být v otevřeném stavu.
fRequiredTransactionEnlistment
[Vstup] Pokud je to pravda, opětovné použití hCandidateConnection existujícího spojení pro nový požadavek na spojení (hRequest) vyžaduje další zápis.
transId
[Vstup] Pokud je fRequiredTransactionEnlistment TRUE, transId představuje DTC transakci, kterou požadavek zaregistruje. Pokud je fRequiredTransactionEnlistment NEPRAVDIVÝ, transId bude ignorován.
pRating
[Výstup] hodnocení opakovaného použití hCandidateConnection pro hRequest. Toto hodnocení bude mezi 0 a 100 (včetně hodnocení).
Returns
SQL_SUCCESS, SQL_ERROR nebo SQL_INVALID_HANDLE.
Diagnostika
Správce ovladačů nezpracovává diagnostické informace vrácené touto funkcí.
Remarks
SQLRateConnection vytváří skóre mezi 0 a 100 (včetně toho), které ukazuje, jak dobře existující spojení odpovídá požadavku.
| Skóre | Význam (když SQL_SUCCESS vrácen) |
|---|---|
| 0 | hCandidateConnection nesmí být pro hRequest znovu použit. |
| Jakékoli hodnoty mezi 1 a 98 (včetně nich) | Čím vyšší skóre, tím blíže se hCandidateConnection shoduje s hRequest. |
| 99 | Nesoulad je jen v nevýznamných atributech. Driver Manager by měl zastavit hodnotící cyklus. |
| 100 | Dokonalá shoda. Driver Manager by měl zastavit hodnotící cyklus. |
| Jakákoli jiná hodnota větší než 100 | hCandidateConnection je označen jako mrtvý a nebude znovu použit ani při budoucím požadavku na připojení. |
Driver Manager označí spojení jako mrtvé, pokud je zpětný kód jiný než SQL_SUCCESS (včetně SQL_SUCCESS_WITH_INFO) nebo pokud je hodnocení větší než 100. Toto nefunkční spojení nebude znovu použito (ani při budoucích požadavcích na připojení) a nakonec bude časově vypršeno po schválení CPTimeoutu. Správce ovladačů bude dál hledat další spojení z poolu pro sazbu.
Pokud správce ovladačů znovu použil spojení, jehož skóre je přísně nižší než 100 (včetně 99), správce ovladačů zavolá SQLSetConnectAttr(SQL_ATTR_DBC_INFO_TOKEN), aby obnovil spojení zpět do požadovaného stavu aplikace. Ovladač by neměl při tomto volání funkce resetovat připojení.
Pokud je fRequiredTransactionEnlistment PRAVDA, opětovné použití hCandidateConnection vyžaduje další zařazení (transId != NULL) nebo zrušení přihlášení (transId == NULL). To ukazuje náklady na opětovné použití připojení a zda by měl ovladač připojení zaregistrovat nebo odhlásit, pokud ho chce znovu použít. Pokud je fRequireTransactionEnlistment NEPRAVDIVÉ, řidič by měl hodnotu transId ignorovat.
Driver Manager zaručuje, že mateřský HENV účet hRequest a hCandidateConnection je stejný. Driver Manager zaručuje, že ID poolu spojené s hRequest a hCandidateConnection je stejné.
Aplikace by tuto funkci neměly volat přímo. ODBC ovladač, který podporuje poolování připojení s vědomím ovladačů, musí tuto funkci implementovat.
Zahrňte sqlspi.h pro vývoj ovladačů ODBC.