Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
megfelelőségi
Bevezetett verzió: ODBC 3.8 szabványmegfelelőség: Nincs
A legtöbb ODBC 3.8 -illesztő (és újabb) várhatóan implementálja ezt a függvényt. Ha egy illesztőprogram nem, Az SQLCancelHandle
összefoglaló
SQLCancelHandle megszakítja a feldolgozást egy kapcsolaton vagy utasításon. Az Illesztőprogram-kezelő leképez egy hívást
Szintaxis
SQLRETURN SQLCancelHandle(
SQLSMALLINT HandleType,
SQLHANDLE Handle);
Érvek
HandleType
[Bemenet] A feldolgozás megszakítására szolgáló leíró típusa. Az érvényes értékek SQL_HANDLE_DBC vagy SQL_HANDLE_STMT.
kezelése
[Bemenet] A feldolgozás megszakítására szolgáló leíró.
Ha Handle nem az HandleTypeáltal megadott típusú leíró, SQLCancelHandle SQL_INVALID_HANDLE ad vissza.
Visszatér
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR vagy SQL_INVALID_HANDLE.
Diagnosztika
Ha SQLCancelHandle SQL_ERROR vagy SQL_SUCCESS_WITH_INFO ad vissza, a társított SQLSTATE-érték úgy érhető el, hogy meghívja SQLGetDiagRec egy SQL_HANDLE_STMT HandleType és egy utasításkezelővel, Handle vagy HandleType SQL_HANDLE_DBC és egy kapcsolati leíróval Handle.
Az alábbi táblázat felsorolja a SQLCancelHandle által gyakran visszaadott SQLSTATE-értékeket, és ismerteti azokat a függvény kontextusában; a(z) "(DM)" jelölés megelőzi a Driver Manager által visszaadott SQLSTATES-ek leírását. Az egyes SQLSTATE-értékekhez társított visszatérési kód SQL_ERROR, kivéve, ha másként van feltüntetve.
| SQLSTATE | Hiba | Leírás |
|---|---|---|
| 01000 | Általános figyelmeztetés | Illesztőprogram-specifikus tájékoztató üzenet. (A függvény SQL_SUCCESS_WITH_INFO ad vissza.) |
| HY000 | Általános hiba | Hiba történt, amely miatt nem volt konkrét SQLSTATE, és amelyhez nem definiáltak implementációspecifikus SQLSTATE-t. Az |
| HY001 | Memóriafoglalási hiba | Az illesztőprogram nem tudta lefoglalni a függvény végrehajtásának vagy befejezésének támogatásához szükséges memóriát. |
| HY010 | Függvényütemezési hiba | A rendszer aszinkron módon végrehajtó, utasítással kapcsolatos függvényt hívott meg a Leírótársított egyik utasításleíróhoz, és HandleType SQL_HANDLE_DBC lett beállítva. Az aszinkron függvény továbbra is fut, amikor SQLCancelHandle volt meghívva. (DM) A HandleType argumentum SQL_HANDLE_STMT; a társított kapcsolati leírón aszinkron módon végrehajtó függvényt hívtak meg; és a függvény még mindig a függvény meghívásakor lett végrehajtva. (DM) SQLExecute, SQLExecDirectvagy SQLMoreResults a Handle és HandleType SQL_HANDLE_DBC értékre lett állítva, és SQL_PARAM_DATA_AVAILABLE lett visszaadva. Ez a függvény az összes streamelt paraméter adatainak lekérése előtt lett meghívva. SQLBrowseConnectConnectionHandlelett meghívva, és SQL_NEED_DATA adott vissza. Ez a függvény a böngészési folyamat befejezése előtt lett meghívva. |
| HY013 | Memóriakezelési hiba | A függvényhívás nem dolgozható fel, mert a mögöttes memóriaobjektumok nem érhetők el, esetleg a memóriahiány miatt. |
| HY092 | Érvénytelen attribútum/beállításazonosító | HandleType SQL_HANDLE_ENV vagy SQL_HANDLE_DESC lett beállítva. |
| HY117 | A kapcsolat ismeretlen tranzakciós állapot miatt fel van függesztve. Csak a leválasztási és írásvédett függvények engedélyezettek. | (DM) További információ a felfüggesztett állapotról: SQLEndTran függvény. |
| HYT01 | A kapcsolat időtúllépése lejárt | A kapcsolat időtúllépési időtartama lejárt, mielőtt az adatforrás válaszolt a kérésre. A kapcsolat időtúllépési időszaka SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | Az illesztőprogram nem támogatja ezt a függvényt | (DM) A Handle illesztőprogramja nem támogatja a függvényt. |
Ha
Megjegyzések
Ez a függvény hasonlít az SQLCancel
Az utasításművelet megszakításával kapcsolatos további információkért lásd SQLCancel-függvény.
Ha nincs folyamatban művelet Kezelő az SQLCancelHandle hívásának nincs hatása.
SQLCancelHandle egy kapcsolati leírón megszakíthatja a következő feldolgozási típusokat:
A kapcsolaton aszinkron módon futó függvény.
Egy függvény, amely egy másik szál kapcsolati leíróján fut.
Ha SQLCancelHandle a kapcsolaton aszinkron módon futó függvény megszakítására van meghívva, a rendszer hozzáfűzi a SQLCancelHandle által közzétett diagnosztikai rekordokat a megszakított művelet által visszaadottakhoz; SQLCancelHandle azonban nem ad vissza diagnosztikai rekordokat, ha egy másik szálon lévő kapcsolaton futó függvényt töröl.
Ha SQLCancelHandle használatával megszakítja SQLEndTran a kapcsolatot felfüggesztett állapotba helyezheti. További információ a felfüggesztett állapotról: SQLEndTran függvény.
Jegyzet
A SQLCancelHandle Windows 7-nél régebbi Windows operációs rendszeren üzembe helyezett alkalmazásokban való használatáról a Kompatibilitási mátrixcímű témakörben talál további információt.
Connection-Related aszinkron feldolgozás megszakítása
Ha egy függvény SQL_STILL_EXECUTING ad vissza, az alkalmazás meghívhatja SQLCancelHandle a művelet megszakításához. Ha a lemondási kérelem sikeres, SQLCancelHandle SQL_SUCCESS ad vissza. Ez nem jelenti azt, hogy az eredeti függvényt törölték; azt jelzi, hogy a lemondási kérelem feldolgozása megtörtént. Az illesztőprogram és az adatforrás határozza meg, hogy a művelet mikor vagy mikor lesz megszakítva. Az alkalmazásnak továbbra is meg kell hívnia az eredeti függvényt, amíg a visszatérési kód nem SQL_STILL_EXECUTING. Ha az eredeti függvényt megszakították, a visszatérési kód SQL_ERROR és az SQLSTATE HY008 (a művelet megszakítva). Ha az eredeti függvény befejezte a normál feldolgozást (nem törölték), a visszatérési kód SQL_SUCCESS vagy SQL_SUCCESS_WITH_INFO, vagy SQL_ERROR és a HY008-tól eltérő SQLSTATE (a művelet megszakítva), ha az eredeti függvény meghiúsult.
A függvények másik szálon történő végrehajtásának megszakítása
Többszálas alkalmazásokban az alkalmazás megszakíthat egy másik szálon futó műveletet. A művelet megszakításához az alkalmazás meghívja SQLCancelHandle a függvény által használt leíróval, de egy másik szálon. Az illesztőprogram és az operációs rendszer határozza meg a művelet megszakításának módját. Az SQLCancelHandle visszatérési kódja azt jelzi, hogy az illesztőprogram feldolgozta-e a kérést, és SQL_SUCCESS vagy SQL_ERROR ad vissza (nem ad vissza diagnosztikai adatokat). Ha az eredeti függvény feldolgozása megszakad, az eredeti függvény SQL_ERROR és SQLSTATE HY008 értéket ad vissza (a művelet megszakítva).
Ha SQLCancelHandle meghív egy másik szálon egy függvényt, a függvény sikeres lesz, és a megszakítás érvénybe lépése előtt SQL_SUCCESS ad vissza. Az SQLCancelHandle
Kapcsolódó függvények
| További információ: | Lát |
|---|---|
| Az aszinkron módon futó függvény lemondása egy utasításkezelőn, egy olyan utasításon lévő függvény lemondása, amely adatokat igényel, vagy egy másik szálon futó utasításon futó függvény lemondása. | SQLCancel-függvény |
Lásd még:
ODBC API-referencia
ODBC-fejlécfájlok
aszinkron végrehajtás (lekérdezési módszer)