Verbindingsovergangen
ODBC-verbindingen hebben de volgende statussen.
Staat | Beschrijving |
---|---|
C0 | Niet-toegewezen omgeving, niet-toegewezen verbinding |
C1 | Toegewezen omgeving, niet-toegewezen verbinding |
C2 | Toegewezen omgeving, toegewezen verbinding |
C3 | Verbindingsfunctie heeft gegevens nodig |
C4 | Verbonden verbinding |
C5 | Verbonden verbinding, toegewezen instructie |
C6 | Verbonden verbinding, transactie wordt uitgevoerd. Het is mogelijk dat een verbinding de status C6 heeft zonder instructies die aan de verbinding zijn toegewezen. Stel dat de verbinding zich in de handmatige doorvoermodus bevindt en de status C4 heeft. Als een instructie wordt toegewezen, uitgevoerd (een transactie starten) en vervolgens wordt vrijgemaakt, blijft de transactie actief, maar zijn er geen instructies over de verbinding. |
In de volgende tabellen ziet u hoe elke ODBC-functie van invloed is op de verbindingsstatus.
SQLAllocHandle
C0 Geen Env. |
C1 Niet-toegewezen | C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
C1[1] | --[5] | --[5] | --[5] | --[5] | --[5] | --[5] |
(IH)[2] | C2 | --[5] | --[5] | --[5] | --[5] | --[5] |
(IH)[3] | (IH) | (08003) | (08003) | C5 | --[5] | --[5] |
(IH)[4] | (IH) | (08003) | (08003) | --[5] | --[5] | --[5] |
[1] In deze rij worden overgangen weergegeven wanneer HandleType is SQL_HANDLE_ENV.
[2] In deze rij worden overgangen weergegeven wanneer HandleType- is SQL_HANDLE_DBC.
[3] Deze rij toont overgangen wanneer HandleType- is SQL_HANDLE_STMT.
[4] Deze rij toont overgangen wanneer HandleType is SQL_HANDLE_DESC.
[5] Aanroepen van SQLAllocHandle- met OutputHandlePtr- die verwijst naar een geldige handle overschrijft die greep zonder rekening te houden met de vorige inhoud van die ingang, en kan problemen veroorzaken voor ODBC-stuurprogramma's. Het is onjuist programmeren van ODBC-toepassingen om SQLAllocHandle- tweemaal aan te roepen met dezelfde toepassingsvariabele die is gedefinieerd voor *OutputHandlePtr- zonder SQLFreeHandle- aan te roepen om de ingang vrij te maken voordat deze opnieuw wordt toegewezen. Het overschrijven van ODBC-ingangen op een dergelijke manier kan leiden tot inconsistent gedrag of fouten van ODBC-stuurprogramma's.
SQLBrowseConnect
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | C3 [d] C4 [s] | -- [d] C2 [e] C4 [s] | (08002) | (08002) | (08002) |
SQLCloseCursor
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | -- | --[1] C5[2] |
[1] De verbinding bevindt zich in de modus handmatig doorvoeren.
[2] De verbinding bevindt zich in de modus voor automatisch doorvoeren.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges en SQLTableTables
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | --[1] C6[2] | -- |
[1] De verbinding was in de modus voor automatisch doorvoeren of de gegevensbron heeft geen transactie gestart.
[2] De verbinding was in de modus handmatig doorvoeren en de gegevensbron begon een transactie.
SQLConnect
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | C4 | (08002) | (08002) | (08002) | (08002) |
SQLCopyDesc, SQLGetDescField, SQLGetDescRec, SQLSetDescField en SQLSetDescRec
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | --[1] | -- | -- |
[1] In deze status zijn de enige beschrijvingen die beschikbaar zijn voor de toepassing expliciet toegewezen descriptors.
SQLDataSources en SQLDrivers
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | -- | -- | -- | -- | -- | -- |
SQLDisconnect
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (08003) | C2 | C2 | C2 | 25000 |
SQLDriverConnect
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | C4 s -- n[f] | (08002) | (08002) | (08002) | (08002) |
SQLEndTran
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH)[1] | --[3] | --[3] | --[3] | -- | -- | --[4] of ([5], [6] en [8]) C4[5] en [7] C5[5], [6] en [9] |
(IH)[2] | (IH) | (08003) | (08003) | -- | -- | C5 |
[1] In deze rij worden overgangen weergegeven wanneer HandleType is SQL_HANDLE_ENV.
[2] In deze rij worden overgangen weergegeven wanneer HandleType- is SQL_HANDLE_DBC.
[3] Omdat de verbinding niet de status Verbonden heeft, wordt deze niet beïnvloed door de transactie.
[4] De doorvoer of terugdraaibewerking is mislukt voor de verbinding. De functie retourneert SQL_ERROR in dit geval.
[5] De doorvoer of terugdraaibewerking is voltooid op de verbinding. De functie retourneert SQL_ERROR als het doorvoeren of terugdraaien is mislukt voor een andere verbinding, of de functie retourneert SQL_SUCCESS als de doorvoer of terugdraaibewerking is geslaagd voor alle verbindingen.
[6] Er is ten minste één instructie toegewezen aan de verbinding.
[7] Er zijn geen instructies toegewezen voor de verbinding.
[8] De verbinding had ten minste één instructie waarvoor een geopende cursor was en de gegevensbron behoudt cursors wanneer transacties worden doorgevoerd of teruggedraaid, afhankelijk van of CompletionType SQL_COMMIT of SQL_ROLLBACK is). Zie de kenmerken SQL_CURSOR_COMMIT_BEHAVIOR en SQL_CURSOR_ROLLBACK_BEHAVIOR in SQLGetInfo-voor meer informatie.
[9] Als de verbinding instructies bevat waarvoor open cursors waren, blijven de cursors niet behouden toen de transactie werd doorgevoerd of teruggedraaid.
SQLExecDirect en SQLExecute
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | --[1] C6[2] C6[3] | -- |
[1] De verbinding bevindt zich in de modus voor automatisch doorvoeren en de instructie die is uitgevoerd, is geen cursorspecificatie (zoals een SELECT-instructie); of de verbinding zich in de handmatige doorvoermodus bevond en de instructie die is uitgevoerd, heeft geen transactie gestart.
[2] De verbinding bevindt zich in de modus voor automatisch doorvoeren en de instructie is een cursorspecificatie (zoals een SELECT-instructie).
[3] De verbinding was in de modus handmatig doorvoeren en de gegevensbron begon een transactie.
SQLFreeHandle
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH)[1] | C0 | (HY010) | (HY010) | (HY010) | (HY010) | (HY010) |
(IH)[2] | (IH) | (C1) | (HY010) | (HY010) | (HY010) | (HY010) |
(IH)[3] | (IH) | (IH) | (IH) | (IH) | C4[5] --[6] | --[7] C4[5] en [8] C5[6] en [8] |
(IH)[4] | (IH) | (IH) | (IH) | -- | -- | -- |
[1] In deze rij worden overgangen weergegeven wanneer HandleType is SQL_HANDLE_ENV.
[2] In deze rij worden overgangen weergegeven wanneer HandleType- is SQL_HANDLE_DBC.
[3] Deze rij toont overgangen wanneer HandleType- is SQL_HANDLE_STMT.
[4] Deze rij toont overgangen wanneer HandleType is SQL_HANDLE_DESC.
[5] Er is slechts één instructie toegewezen aan de verbinding.
[6] Er zijn meerdere instructies toegewezen voor de verbinding.
[7] De verbinding bevindt zich in de modus handmatig doorvoeren.
[8] De verbinding bevindt zich in de modus voor automatisch doorvoeren.
SQLFreeStmt
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH)[1] | (IH) | (IH) | (IH) | (IH) | -- | C5[3] --[4] |
(IH)[2] | (IH) | (IH) | (IH) | (IH) | -- | -- |
[1] In deze rij worden transacties weergegeven wanneer het argument Optie is SQL_CLOSE.
[2] In deze rij worden transacties weergegeven wanneer het argument optie
[3] De verbinding bevindt zich in de modus voor automatisch doorvoeren en er zijn geen cursors geopend voor instructies, behalve deze.
[4] De verbinding bevindt zich in de modus voor handmatig doorvoeren of in de modus voor automatisch doorvoeren en er is een cursor geopend op ten minste één andere instructie.
SQLGetConnectAttr
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
IH | IH | --[1] 08003[2] | HY010 | -- | -- | -- |
[1] Het argument Kenmerk is SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE of SQL_ATTR_TRACEFILE of een waarde is ingesteld voor het verbindingskenmerk.
[2] Het argument Kenmerk is niet SQL_ATTR_ACCESS_MODE, SQL_ATTR_AUTOCOMMIT, SQL_ATTR_LOGIN_TIMEOUT, SQL_ATTR_ODBC_CURSORS, SQL_ATTR_TRACE of SQL_ATTR_TRACEFILE en er is geen waarde ingesteld voor het verbindingskenmerk.
SQLGetDiagField en SQLGetDiagRec
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH)[1] | -- | -- | -- | -- | -- | -- |
(IH)[2] | (IH) | -- | -- | -- | -- | -- |
(IH)[3] | (IH) | (IH) | (IH) | (IH) | -- | -- |
(IH)[4] | (IH) | (IH) | (IH) | -- | -- | -- |
[1] In deze rij worden overgangen weergegeven wanneer HandleType is SQL_HANDLE_ENV.
[2] In deze rij worden overgangen weergegeven wanneer HandleType- is SQL_HANDLE_DBC.
[3] Deze rij toont overgangen wanneer HandleType- is SQL_HANDLE_STMT.
[4] Deze rij toont overgangen wanneer HandleType is SQL_HANDLE_DESC.
SQLGetEnvAttr
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
IH | IH | HY010 | HY010 | -- | -- | -- |
SQLGetInfo
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
IH | IH | --[1] 08003[2] | 08003 | -- | -- | -- |
[1] Het argument InfoType is SQL_ODBC_VER.
[2] Het argument InfoType is niet SQL_ODBC_VER.
SQLMoreResults
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | --[1] C6[2] | --[3] C5[1] |
[1] De verbinding bevindt zich in de modus voor automatisch doorvoeren en de aanroep naar SQLMoreResults heeft de verwerking van een resultatenset van een cursorspecificatie niet geïnitialiseerd.
[2] De verbinding bevindt zich in de modus voor automatisch doorvoeren en de aanroep naar SQLMoreResults heeft de verwerking van een resultatenset van een cursorspecificatie geïnitialiseerd.
[3] De verbinding bevindt zich in de modus handmatig doorvoeren.
SQLNativeSql
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (08003) | (08003) | -- | -- | -- |
SQLPrepare
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | --[1] C6[2] | -- |
[1] De verbinding was in de modus voor automatisch doorvoeren of de gegevensbron heeft geen transactie gestart.
[2] De verbinding was in de modus handmatig doorvoeren en de gegevensbron begon een transactie.
SQLSetConnectAttr
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
IH | IH | --[1] 08003[2] | HY010 | --[3] 08002[4] HY011[5] | --[3] 08002[4] HY011[5] | --[3] en [6] C5[8] 08002[4] HY011[5] of [7] |
[1] Het argument kenmerk
[2] Het argument kenmerk is SQL_ATTR_TRANSLATE_LIB of SQL_ATTR_TRANSLATE_OPTION.
[3] Het argument kenmerk is niet SQL_ATTR_ODBC_CURSORS of SQL_ATTR_PACKET_SIZE.
[4] Het argument kenmerk is SQL_ATTR_ODBC_CURSORS.
[5] Het argument Kenmerk is SQL_ATTR_PACKET_SIZE.
[6] Het argument kenmerk is niet SQL_ATTR_AUTOCOMMIT of het argument kenmerk is SQL_ATTR_AUTOCOMMIT en het instellen van dit kenmerk heeft de transactie niet doorgevoerd.
[7] Het argument Kenmerk is SQL_ATTR_TXN_ISOLATION.
[8] Het argument Kenmerk is SQL_ATTR_AUTOCOMMIT en het instellen van dit kenmerk heeft de transactie doorgevoerd.
SQLSetEnvAttr
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | -- | -- | (HY010) | -- | -- | -- |
Alle andere ODBC-functies
C0 Geen Env. |
C1 Vrije |
C2 Toegewezen |
C3 Gegevens nodig |
C4 Verbonden |
C5 Verklaring |
C6 Transactie |
---|---|---|---|---|---|---|
(IH) | (IH) | (IH) | (IH) | (IH) | -- | -- |