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 1.0 szabványmegfelelőség: ISO 92
összefoglaló
SQLDisconnect egy adott kapcsolati leíróhoz társított kapcsolatot zár be.
Szintaxis
SQLRETURN SQLDisconnect(
SQLHDBC ConnectionHandle);
Érvek
ConnectionHandle
[Bemenet] Kapcsolati leíró.
Visszatér
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR, SQL_INVALID_HANDLE vagy SQL_STILL_EXECUTING.
Diagnosztika
Amikor az SQLDisconnect
| 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.) |
| 01002 | Kapcsolatbontási hiba | Hiba történt a kapcsolat bontása során. A kapcsolat bontása azonban sikeres volt. (A függvény SQL_SUCCESS_WITH_INFO ad vissza.) |
| 08003 | A kapcsolat nincs megnyitva | (DM) Az argumentumban megadott kapcsolat ConnectionHandle nem volt megnyitva. |
| 25000 | Érvénytelen tranzakció állapota | Folyamatban volt egy tranzakció a ConnectionHandle argumentum által megadott kapcsolaton. A tranzakció aktív marad. |
| 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 SQLGetDiagRec által a *MessageText pufferben visszaadott hibaüzenet leírja a hibát és annak okát. |
| 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. |
| HY008 | Művelet megszakítva | Az aszinkron feldolgozás engedélyezve lett a ConnectionHandle. A függvény meghívása megtörtént, és mielőtt befejezte volna SQLCancelHandle függvény meghívása a ConnectionHandle. Ezután a függvényt ismét meghívta a ConnectionHandle. A függvény meghívása megtörtént, és mielőtt befejeződött volna SQLCancelHandle meghívása a ConnectionHandle egy másik szálról egy többszálas alkalmazásból. |
| HY010 | Függvényütemezési hiba | (DM) Aszinkron módon végrehajtó függvényt hívott meg egy StatementHandle, amely a ConnectionHandle társított, és továbbra is végrehajtásra került SQLDisconnect meghívásakor. (DM) A ConnectionHandle egy aszinkron módon végrehajtó függvényt hívott meg (nem ez). (DM) SQLExecute, SQLExecDirect, SQLBulkOperationsvagy SQLSetPos a ConnectionHandle társított StatementHandle kért, és visszaadott SQL_NEED_DATA. Ezt a függvényt az összes adatvégrehajtási paraméter vagy oszlop adatküldése előtt hívták meg. |
| 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. |
| 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, és a kapcsolat továbbra is aktív. 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 ConnectionHandle társított illesztőprogram nem támogatja a függvényt. |
| IM017 | A lekérdezés aszinkron értesítési módban le van tiltva | Az értesítési modell használata esetén a lekérdezés le van tiltva. |
| IM018 | SQLCompleteAsync nem lett meghívva az előző aszinkron művelet végrehajtásához ezen a leírón. | Ha a leíró előző függvényhívása SQL_STILL_EXECUTING ad vissza, és ha az értesítési mód engedélyezve van, SQLCompleteAsync kell meghívni a leíróra a művelet utófeldolgozásához és befejezéséhez. |
Megjegyzések
Ha egy alkalmazás SQLDisconnect- hív meg, miután SQLBrowseConnect visszaadja SQL_NEED_DATA, és mielőtt egy másik visszatérési kódot ad vissza, az illesztőprogram megszakítja a kapcsolat böngészési folyamatát, és a kapcsolatot nem összekapcsolt állapotba adja vissza.
Ha egy alkalmazás meghívja SQLDisconnect, miközben a kapcsolati leíróhoz nem megfelelő tranzakció tartozik, az illesztőprogram az SQLSTATE 25000 (Érvénytelen tranzakció állapota) értéket adja vissza, amely azt jelzi, hogy a tranzakció változatlan, és a kapcsolat nyitva van. A nem teljes tranzakció olyan tranzakció, amelyet nem véglegesítettek vagy nem hajtottak vissza SQLEndTran.
Ha egy alkalmazás SQLDisconnect- hív meg, mielőtt felszabadította volna a kapcsolathoz társított összes utasítást, az illesztőprogram, miután sikeresen leválasztotta az adatforrást, felszabadítja azokat az utasításokat és az összes leírót, amelyek explicit módon lettek lefoglalva a kapcsolaton. Ha azonban a kapcsolathoz társított egy vagy több utasítás továbbra is aszinkron módon fut, SQLDisconnect a HY010 SQLSTATE-értékkel (függvényütemezési hiba) SQL_ERROR ad vissza. Emellett SQLDisconnect felszabadítja a kapcsolaton explicit módon lefoglalt összes társított utasítást és leírót, ha a kapcsolat felfüggesztett állapotban van, vagy ha SQLDisconnect sikeresen megszakította SQLCancelHandle.
Az alkalmazás SQLDisconnecthasználatával kapcsolatos információkért lásd: Adatforrás vagy illesztőprogramleválasztása.
Kapcsolat leválasztása készletezett kapcsolatról
Ha a kapcsolatkészletezés engedélyezve van egy megosztott környezetben, és egy alkalmazás meghívja SQLDisconnect- egy adott környezetben lévő kapcsolaton, a kapcsolat visszakerül a kapcsolatkészletbe, és továbbra is elérhető az ugyanazon megosztott környezetet használó más összetevők számára.
Példa kódra
Lásd: MINTA ODBC Program, SQLBrowseConnect függvényés SQLConnect-függvény.
Kapcsolódó függvények
| További információ: | Lát |
|---|---|
| Fogópont kiosztása | SQLAllocHandle függvény |
| Csatlakozás adatforráshoz | SQLConnect-függvény |
| Csatlakozás adatforráshoz kapcsolati sztring vagy párbeszédpanel használatával | SQLDriverConnect-függvény |
| Véglegesítési vagy visszaállítási művelet végrehajtása | SQLEndTran függvény |
| Kapcsolati leíró felszabadítása | SQLFreeConnect-függvény |
Lásd még:
ODBC API-referencia
ODBC-fejlécfájlok