SQLRateConnection függvény

Megfelelőség
Bemutatott verzió: ODBC 3.81 Szabványoknak megfelelés: ODBC

Summary
Az SQLRateConnection meghatározza, hogy egy illesztőprogram újrahasznosíthatja-e egy meglévő kapcsolatot a kapcsolati pool között.

Syntax

  
SQLRETURN  SQLRateConnection(  
                SQLHDBC_INFO_TOKEN   hRequest,  
                SQLHDBC              hCandidateConnection,  
                BOOL                 fRequiredTransactionEnlistment,  
                TRANSID              transId,  
                DWORD *              pRating );  

Arguments

hRequest
[Bemenet] Egy token handle az új alkalmazás kapcsolati kérését jelképezi.

hCandidateConnection
[Bemenet] A meglévő kapcsolat a csatlakozási poolban. A kapcsolatnak nyitott állapotban kell lennie.

fRequiredTransactionEnlistment
[Bemenet] Ha TRUE, a meglévő kapcsolat hCandidateConnection újrafelhasználása az új kapcsolatkéréshez (hRequest) további besorolást igényel.

transId
[Bemenet] Ha a fRequiredTransactionEnlistment TRUE, akkor transId azt a DTC tranzakciót jelöli, amelyet a kérés bevon. Ha a fRequiredTransactionEnlistment HAMIS, a transId figyelmen kívül hagyásra kerül.

pRating
[Kimenet] a hCandidateConnection újrahasználati értékelése a hRequest esetében. Ez a besorolás 0 és 100 között lesz (beleértve a besorolást is).

Returns

SQL_SUCCESS, SQL_ERROR vagy SQL_INVALID_HANDLE.

Diagnostics

A Driver Manager nem dolgozza fel a funkcióból visszaküldött diagnosztikai információkat.

Remarks

Az SQLRateConnection 0 és 100 között (beleértve ezt is értve) pontszámot ad, amely jelzi, hogy egy meglévő kapcsolat mennyire illik a kéréshez.

Score Jelentés (amikor SQL_SUCCESS visszakerül)
0 A hCandidateConnection nem használható újra a hRequesthez.
Bármilyen érték 1 és 98 között (beleértve a kiterjedést) Minél magasabb a pontszám, annál közelebb áll a hCandidateConnection és a hRequest egyezése.
99 Csak a jelentéktelen tulajdonságok eltérései vannak. A Driver Managernek meg kell állítania a minősítési ciklust.
100 Tökéletes párosítás. A Driver Managernek meg kell állítania a minősítési ciklust.
Bármely más érték, amely nagyobb, mint 100 A hCandidateConnection halottnak van jelölve, és még a jövőbeli csatlakozási kérés esetén sem lesz újrahasználata.

A Driver Manager halottnak jelöli a kapcsolatot, ha a visszaküldési kód más, mint SQL_SUCCESS (beleértve SQL_SUCCESS_WITH_INFO-t is), vagy a besorolás meghaladja a 100-at. Ez a halott kapcsolat nem lesz újrahasznosítva (még a jövőbeli csatlakozási kérések esetén sem), és végül időlejárást kap, miután a CPTimeout megszűnt. A vezetővezető továbbra is keres egy másik kapcsolatot a poolból, hogy értékelje.

Ha a Driver Manager újra felhasznál egy olyan kapcsolatot, amelynek pontszáma szigorúan 100-nál kisebb (beleértve a 99-et), a Driver Manager felhívja a SQLSetConnectAttr(SQL_ATTR_DBC_INFO_TOKEN) szolgáltatást, hogy visszaállítsa a kapcsolatot az alkalmazás által kért állapotba. A meghajtónak nem szabad visszaállítania a kapcsolatot ebben a funkcióhívásban.

Ha a fRequiredTransactionEnlistment TRUE, akkor a hCandidateConnection újrahasználatához extra regisztráció (transId != NULL) vagy levonás (transId == NULL) szükséges. Ez azt mutatja, mennyi költsége van egy kapcsolat újrahasználatának, és hogy az illesztőprogramnak be kellene-e vennie vagy törölnie a kapcsolatot, ha újra fel akarja használni a kapcsolatot. Ha a fRequireTransactionEnlistment HAMIS, akkor az illeszternek figyelmen kívül kell hagynia a transID értékét.

A Driver Manager garantálja, hogy a hRequest és a hCandidateConnection szülő HENV kezelőkeze ugyanaz. A Driver Manager garantálja, hogy a hRequest és hCandidateConnection által összekapcsolódó pool ID ugyanaz.

Az alkalmazásoknak nem szabad közvetlenül hívniuk ezt a függvényt. Egy ODBC illesztőprogramnak, amely támogatja az illesztőközpontú kapcsolati poolingot, ezt a funkciót meg kell valósítania.

Tartalmazzuk a sqlspi.h-t az ODBC illezserfejlesztéshez.