Transitions d’instruction
Les instructions ODBC ont les états suivants.
State | Description |
---|---|
S0 | Instruction non allouée. (L’état de connexion doit être C4, C5 ou C6. Pour plus d’informations, consultez Transitions de connexion.) |
S1 | Instruction allouée. |
S2 | Instruction préparée. Aucun jeu de résultats n’est créé. |
S3 | Instruction préparée. Un jeu de résultats (éventuellement vide) sera créé. |
S4 | Instruction exécutée et aucun jeu de résultats n’a été créé. |
S5 | Instruction exécutée et un jeu de résultats (éventuellement vide) a été créé. Le curseur est ouvert et positionné avant la première ligne du jeu de résultats. |
S6 | Curseur positionné avec SQLFetch ou SQLFetchScroll. |
S7 | Curseur positionné avec SQLExtendedFetch. |
S8 | La fonction a besoin de données. SQLParamData n’a pas été appelé. |
S9 | La fonction a besoin de données. SQLPutData n’a pas été appelé. |
S10 | La fonction a besoin de données. SQLPutData a été appelé. |
S11 | Toujours en cours d’exécution. Une instruction est laissée dans cet état après qu’une fonction exécutée retourne de manière asynchrone SQL_STILL_EXECUTING. Une instruction est temporairement dans cet état pendant que toute fonction qui accepte un handle d’instruction est en cours d’exécution. La résidence temporaire dans l’état S11 n’est pas indiquée dans les tables d’état, à l’exception de la table d’état pour SQLCancel. Alors qu’une instruction est temporairement à l’état S11, la fonction peut être annulée en appelant SQLCancel à partir d’un autre thread. |
S12 | Exécution asynchrone annulée. Dans S12, une application doit appeler la fonction annulée jusqu’à ce qu’elle retourne une valeur autre que SQL_STILL_EXECUTING. La fonction a été annulée avec succès uniquement si la fonction retourne SQL_ERROR et SQLSTATE HY008 (Opération annulée). S’il retourne une autre valeur, telle que SQL_SUCCESS, l’opération d’annulation a échoué et la fonction s’est exécutée normalement. |
Les états S2 et S3 sont appelés états préparés, états S5 à S7 comme états de curseur, états S8 à S10 comme états de données nécessaires et états S11 et S12 comme états asynchrones. Dans chacun de ces groupes, les transitions sont affichées séparément uniquement lorsqu’elles sont différentes pour chaque état du groupe ; dans la plupart des cas, les transitions pour chaque état d’un groupe sont les mêmes.
Les tableaux suivants montrent comment chaque fonction ODBC affecte l’état de l’instruction.
SQLAllocHandle
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1], [5], [6] | --[5] | --[5] | --[5] | --[5] | --[5] | --[5] |
--[2], [5] | --[5] | --[5] | --[5] | --[5] | --[5] | --[5] |
S1[3] | --[5] | --[5] | --[5] | --[5] | --[5] | --[5] |
--[4], [5] | --[5] | --[5] | --[5] | --[5] | --[5] | --[5] |
[1] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_ENV.
[2] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_DBC.
[3] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_STMT.
[4] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_DESC.
[5] L’appel de SQLAllocHandle avec OutputHandlePtr pointant vers un handle valide remplace celui-ci sans tenir compte du contenu précédent et peut entraîner des problèmes pour les pilotes ODBC. La programmation d’application ODBC est incorrecte pour appeler SQLAllocHandle deux fois avec la même variable d’application définie pour *OutputHandlePtr sans appeler SQLFreeHandle pour libérer le handle avant de le réallouer. Le remplacement des handles ODBC de cette manière peut entraîner un comportement incohérent ou des erreurs de la part des pilotes ODBC.
SQLBindCol
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect et SQLDriverConnect
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
SQLBulkOperations
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24 000 | Voir le tableau suivant | HY010 | NS [c] HY010 o |
SQLBulkOperations (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
-- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | S1[1] S2 [nr] et [2] S3 [r]and [2] S5[3] et [5] S6([3] or [4]) et [6] S7[4] et [7] | Voir le tableau suivant |
[1] SQLExecDirect a retourné SQL_NEED_DATA.
[2] SQLExecute a retourné SQL_NEED_DATA.
[3] SQLBulkOperations a retourné SQL_NEED_DATA.
[4] SQLSetPos a retourné SQL_NEED_DATA.
[5] SQLFetch, SQLFetchScroll ou SQLExtendedFetch n’avaient pas été appelés.
[6] SQLFetch ou SQLFetchScroll avait été appelé.
[7] SQLExtendedFetch avait été appelé.
SQLCancel (États asynchrones)
S11 Toujours en cours d’exécution |
S12 Asynch annulée |
---|---|
NS[1] S12[2] | S12 |
[1] L’instruction était temporairement à l’état S11 pendant l’exécution d’une fonction. SQLCancel a été appelé à partir d’un thread différent.
[2] L’instruction était à l’état S11, car une fonction appelée a retourné de manière asynchrone SQL_STILL_EXECUTING.
SQLCloseCursor
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | 24 000 | 24 000 | 24 000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Voir le tableau suivant | 24 000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (États préparés)
S2 Aucun résultat |
S3 Résultats |
---|---|
--[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier a été SQL_DESC_COUNT.
[2] FieldIdentifier n’a pas été SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges et SQLTables
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S5 [s] S11 [x] | S1 [e] S5 [s] S11 [x] | S1 [e] et [1] S5 [s] et [1] S11 [x] et [1] 24000[2] | Voir le tableau suivant | HY010 | NS [c] HY010 o |
[1] Le résultat actuel est le dernier ou le seul résultat, ou il n’y a aucun résultat actuel. Pour plus d’informations sur plusieurs résultats, consultez Résultats multiples.
[2] Le résultat actuel n’est pas le dernier résultat.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges et SQLTables (Cursor States)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24 000 | 24000[1] | 24 000 |
[1] Cette erreur est retournée par le Gestionnaire de pilotes si SQLFetch ou SQLFetchScroll n’a pas retourné SQL_NO_DATA et est retournée par le pilote si SQLFetch ou SQLFetchScroll a retourné SQL_NO_DATA.
SQLCopyDesc
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | NS [c] et [3] HY010 [o] ou [4] |
IH[2] | HY010 | Voir le tableau suivant | 24 000 | -- [s] S11 x | HY010 | NS [c] et [3] HY010 [o] ou [4] |
[1] Cette ligne montre les transitions lorsque l’argument SourceDescHandle était un ARD, APD ou IPD.
[2] Cette ligne montre les transitions lorsque l’argument SourceDescHandle était un IRD.
[3] Les arguments SourceDescHandle et TargetDescHandle étaient les mêmes que dans la fonction SQLCopyDesc qui s’exécute de façon asynchrone.
[4] L’argument SourceDescHandle ou l’argument TargetDescHandle (ou les deux) étaient différents de ceux de la fonction SQLCopyDesc qui s’exécute de manière asynchrone.
SQLCopyDesc (États préparés)
S2 Aucun résultat |
S3 Résultats |
---|---|
24000[1] | -- [s] S11 [x] |
[1] Cette ligne montre les transitions lorsque l’argument SourceDescHandle était un IRD.
SQLDataSources et SQLDrivers
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Voir le tableau suivant | 24 000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (États préparés)
S2 Aucun résultat |
S3 Résultats |
---|---|
07005 | -- [s] S11 [x] |
SQLDescribeParam
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
SQLDisconnect
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] L’appel de SQLDisconnect libère toutes les instructions associées à la connexion. En outre, cela retourne l’état de connexion à C2 ; L’état de connexion doit être C4 avant que l’état de l’instruction soit S0.
SQLEndTran
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | --[2] ou [3] S1[1] | --[3] S1 [np] et ([1] ou [2]) S1 [p] et [1] S2 [p] et [2] | --[3] S1 [np] et ([1] ou [2]) S1 [p] et [1] S3 [p] et [2] | (HY010) | (HY010) |
[1] L’argument CompletionType est SQL_COMMIT et SQLGetInfo retourne SQL_CB_DELETE pour le type d’informations SQL_CURSOR_COMMIT_BEHAVIOR, ou l’argument CompletionType est SQL_ROLLBACK et SQLGetInfo retourne SQL_CB_DELETE pour le type d’informations SQL_CURSOR_ROLLBACK_BEHAVIOR.
[2] L’argument CompletionType est SQL_COMMIT et SQLGetInfo retourne SQL_CB_CLOSE pour le type d’informations SQL_CURSOR_COMMIT_BEHAVIOR, ou l’argument CompletionType est SQL_ROLLBACK et SQLGetInfo retourne SQL_CB_CLOSE pour le type d’informations SQL_CURSOR_ROLLBACK_BEHAVIOR.
[3] L’argument CompletionType est SQL_COMMIT et SQLGetInfo retourne SQL_CB_PRESERVE pour le type d’informations SQL_CURSOR_COMMIT_BEHAVIOR, ou l’argument CompletionType est SQL_ROLLBACK et SQLGetInfo retourne SQL_CB_PRESERVE pour le type d’informations SQL_CURSOR_ROLLBACK_BEHAVIOR.
SQLExecDirect
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S4 [s] et [nr] S5 [s] et [r] S8 [d] S11 [x] | -- [e] and [1] S1 [e] and [2] S4 [s] and [nr] S5 [s] and [r] S8 [d] S11 [x] | -- [e], [1], et [3] S1 [e], [2] et [3] S4 [s], [nr] et [3] S5 [s], [r], et [3] S8 [d] et [3] S11 [x] et [3] 24000 [4] | Voir le tableau suivant | HY010 | NS [c] HY010 [o] |
[1] L’erreur a été retournée par le gestionnaire de pilotes.
[2] L’erreur n’a pas été retournée par le Gestionnaire de pilotes.
[3] Le résultat actuel est le dernier ou le seul résultat, ou il n’y a aucun résultat actuel. Pour plus d’informations sur plusieurs résultats, consultez Résultats multiples.
[4] Le résultat actuel n’est pas le dernier résultat.
SQLExecDirect (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24 000 | 24000 [1] | 24 000 |
[1] Cette erreur est retournée par le Gestionnaire de pilotes si SQLFetch ou SQLFetchScroll n’a pas retourné SQL_NO_DATA, et est retournée par le pilote si SQLFetch ou SQLFetchScroll a retourné SQL_NO_DATA.
SQLExecute
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | Voir le tableau suivant | S2 [e], p, et [1] S4 [s], [p], [nr], et [1] S5 [s], [p], [r], et [1] S8 [d], [p] et [1] S11 [x], [p] et [1] 24000 [p] et [2] HY010 [np] | Voir le tableau des états du curseur | HY010 | NS [c] HY010 [o] |
[1] Le résultat actuel est le dernier ou le seul résultat, ou il n’existe aucun résultat actuel. Pour plus d’informations sur plusieurs résultats, consultez Résultats multiples.
[2] Le résultat actuel n’est pas le dernier résultat.
SQLExecute (États préparés)
S2 Aucun résultat |
S3 Résultats |
---|---|
S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] Cette erreur est retournée par le Gestionnaire de pilotes si SQLFetch ou SQLFetchScroll n’a pas retourné SQL_NO_DATA, et est retournée par le pilote si SQLFetch ou SQLFetchScroll a retourné SQL_NO_DATA.
SQLExtendedFetch
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | S1010 | S1010 | 24 000 | Voir le tableau suivant | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S7 [s] ou [nf] S11 [x] | S1010 | -- [s] ou [nf] S11 [x] |
SQLFetch et SQLFetchScroll
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24 000 | Voir le tableau suivant | HY010 | NS [c] HY010 [o] |
SQLFetch et SQLFetchScroll (états du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S6 [s] ou [nf] S11 [x] | -- [s] ou [nf] S11 [x] | HY010 |
SQLFreeHandle
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
-- [3] | -- | -- | -- | -- | -- | -- |
[1] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_ENV ou SQL_HANDLE_DBC.
[2] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_STMT.
[3] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_DESC et que le descripteur a été explicitement alloué.
SQLFreeStmt
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Cette ligne montre les transitions lorsque Option a été SQL_CLOSE.
[2] Cette ligne affiche les transitions lorsque Option a été SQL_UNBIND ou SQL_RESET_PARAMS. Si l’argument Option a été SQL_DROP et que le pilote sous-jacent est un pilote ODBC 3*.x*, le Gestionnaire de pilotes le mappe à un appel à SQLFreeHandle avec HandleType défini sur SQL_HANDLE_STMT. Pour plus d’informations, consultez la table de transition pour SQLFreeHandle.
SQLGetConnectAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24 000 | Voir le tableau suivant | HY010 | NS [c] HY010 [o] |
SQLGetData (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24 000 | -- [s] or [nf] S11 [x] 24000 [b] HY109 [i] | -- [s] or [nf] S11 [x] 24000 [b] HY109 [i] |
SQLGetDescField et SQLGetDescRec
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- [1] ou [2] HY010 [3] | Voir le tableau suivant | -- [1] ou [2] 24000 [3] | -- [1], [2], ou [3] S11 [3] et [x] | HY010 | NS [c] ou [4] HY010 [o] et [5] |
[1] L’argument DescriptorHandle était un APD ou un ARD.
[2] L’argument DescriptorHandle était un IPD.
[3] L’argument DescriptorHandle était un IRD.
[4] L’argument DescriptorHandle était identique à l’argument DescriptorHandle dans la fonction SQLGetDescField ou SQLGetDescRec qui s’exécute de manière asynchrone.
[5] L’argument DescriptorHandle était différent de l’argument DescriptorHandle dans la fonction SQLGetDescField ou SQLGetDescRec qui s’exécute de manière asynchrone.
SQLGetDescField et SQLGetDescRec (États préparés)
S2 Aucun résultat |
S3 Résultats |
---|---|
--[1], [2], ou [3] S11[2] et [x] | --[1], [2] ou [3] S11 [x] |
[1] L’argument DescriptorHandle était un APD ou un ARD.
[2] L’argument DescriptorHandle était un IPD.
[3] L’argument DescriptorHandle était un IRD. Notez que ces fonctions retournent toujours SQL_NO_DATA à l’état S2 lorsque DescriptorHandle était un IRD.
SQLGetDiagField et SQLGetDiagRec
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | -- | -- | -- |
IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_ENV, SQL_HANDLE_DBC ou SQL_HANDLE_DESC.
[2] Cette ligne montre les transitions lorsque HandleType a été SQL_HANDLE_STMT.
[3] SQLGetDiagField retourne toujours une erreur dans cet état lorsque DiagIdentifier est SQL_DIAG_ROW_COUNT.
SQLGetEnvAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetStmtAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | Voir le tableau suivant | HY010 | HY010 |
[1] L’attribut d’instruction n’a pas été SQL_ATTR_ROW_NUMBER.
[2] L’attribut d’instruction a été SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
--[1] 24000[2] | --[1] ou ([v] et [2]) 24000 [b] et [2] HY109 [i] et [2] | -- [i] ou ([v] et [2]) 24000 [b] et [2] HY109[1] et [2] |
[1] L’argument Attribute n’a pas été SQL_ATTR_ROW_NUMBER.
[2] L’argument Attribute a été SQL_ATTR_ROW_NUMBER.
SQLMoreResults
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | --[1] | --[1] | -- [s] et [2] S1 [nf], [np], [4] S2 [nf], [p], et [4] S5 [s] et [3] S11 [x] | S1 [nf], [np], et [4] S3 [nf], [p] et [4] S4 [s] et [2] S5 [s] et [3] S11 [x] | HY010 | NS [c] HY010 [o] |
[1] La fonction retourne toujours SQL_NO_DATA dans cet état.
[2] Le résultat suivant est un nombre de lignes.
[3] Le résultat suivant est un jeu de résultats.
[4] Le résultat actuel est le dernier résultat.
SQLNativeSql
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLNumParams
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Voir le tableau suivant | NS [c] HY010 [o] |
SQLParamData (États de données nécessaires)
S8 Données nécessaires |
S9 Doit mettre |
S10 Peut mettre |
---|---|---|
S1 [e] et [1] S2 [e], [nr], [2] S3 [e], [r], et [2] S5 [e] et [4] S6 [e] et [5] S7 [e] et [3] S9 [d] S11 [x] | HY010 | S1 [e] et [1] S2 [e], [nr], [2] S3 [e], [r], et [2] S4 [s], [nr], et ([1] or [2]) S5 [s], [r] et ([1] ou [2]) S5 [s], [r] et ([1] 1] ou [2]) S5 ([s] ou [e]) et [4] S6 ([s] ou [e]) et [5] S7 ([s] ou [e]) et [3] S9 [d] S11 [x] |
[1] SQLExecDirect a retourné SQL_NEED_DATA.
[2] SQLExecute a retourné SQL_NEED_DATA.
[3] SQLSetPos avait été appelé à partir de l’état S7 et retourné SQL_NEED_DATA.
[4] SQLBulkOperations avait été appelé à partir de l’état S5 et retourné SQL_NEED_DATA.
[5] SQLSetPos ou SQLBulkOperations avaient été appelés à partir de l’état S6 et retourné SQL_NEED_DATA.
SQLPrepare
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S2 [s] et [nr] S3 [s] et [r] S11 [x] | -- [s] or ([e] and [1]) S1 [e] and [2] S11 [x] | S1 [e] et [3] S2 [s], [nr] et [3] S3 [s], [r] et [3] S11 [x] et [3] 24000[4] | Voir le tableau suivant | HY010 | NS [c] HY010 [o] |
[1] La préparation échoue pour une raison autre que la validation de l’instruction (SQLSTATE était HY009 [valeur d’argument non valide] ou HY090 [longueur de la chaîne ou de la mémoire tampon non valide]).
[2] La préparation échoue lors de la validation de l’instruction (sqlSTATE n’était pas HY009 [valeur d’argument non valide] ou HY090 [longueur de la chaîne ou de la mémoire tampon non valide]).
[3] Le résultat actuel est le dernier ou le seul résultat, ou il n’y a aucun résultat actuel. Pour plus d’informations sur plusieurs résultats, consultez Résultats multiples.
[4] Le résultat actuel n’est pas le dernier résultat.
SQLPrepare (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24 000 | 24 000 | 24 000 |
SQLPutData
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Voir le tableau suivant | NS [c] HY010 [o] |
SQLPutData (États de données nécessaires)
S8 Besoin de données |
S9 Must Put |
S10 Put peut |
---|---|---|
HY010 | S1 [e] et [1] S2 [e], [nr], et [2] S3 [e], [r], et [2] S5 [e] et [4] S6 [e] et [5] S7 [e] et [3] S10 [s] S11 [x] | -- [s] S1 [e] and [1] S2 [e], [nr], and [2] S3 [e], [r] and [2] S5 [e] and [4] S6 [e] and [5] S7 [e] and [3] S11 [x] HY011[6] |
[1] SQLExecDirect a retourné SQL_NEED_DATA.
[2] SQLExecute a retourné SQL_NEED_DATA.
[3] SQLSetPos avait été appelé à partir de l’état S7 et retourné SQL_NEED_DATA.
[4] SQLBulkOperations avait été appelé à partir de l’état S5 et retourné SQL_NEED_DATA.
[5] SQLSetPos ou SQLBulkOperations avait été appelé à partir de l’état S6 et retourné SQL_NEED_DATA.
[6] Un ou plusieurs appels à SQLPutData pour un paramètre unique ont retourné SQL_SUCCESS, puis un appel à SQLPutData a été effectué pour le même paramètre avec StrLen_or_Ind défini sur SQL_NULL_DATA.
SQLRowCount
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Besoin de données |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Cette ligne montre les transitions lorsque Attribut était un attribut de connexion. Pour les transitions lorsque Attribute était un attribut d’instruction, consultez la table de transition d’instructions pour SQLSetStmtAttr.
[2] L’argument Attribute n’a pas été SQL_ATTR_CURRENT_CATALOG.
[3] L’argument Attribute a été SQL_ATTR_CURRENT_CATALOG.
SQLSetCursorName
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | 24 000 | 24 000 | HY010 | HY010 |
SQLSetDescField et SQLSetDescRec
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Cette ligne montre les transitions où l’argument DescriptorHandle est un argument ARD, APD, IPD ou (pour SQLSetDescField) un IRD lorsque l’argument FieldIdentifier est SQL_DESC_ARRAY_STATUS_PTR ou SQL_DESC_ROWS_PROCESSED_PTR. Il s’agit d’une erreur d’appeler SQLSetDescField pour un IRD lorsque FieldIdentifier est une autre valeur.
SQLSetEnvAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
SQLSetPos
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24 000 | Voir le tableau suivant | HY010 | NS [c] HY010 [o] |
SQLSetPos (États du curseur)
S5 Ouvert |
S6 SQLFetch ou SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24 000 | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] |
SQLSetStmtAttr
S0 Non alloué |
S1 Allocated |
S2-S3 Prepared |
S4 Exécuté |
S5-S7 Curseur |
S8-S10 Données nécessaires |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] ou [1] HY011 [p] et [2] | HY010 [np] ou [1] HY011 [p] et [2] |
[1] L’argument Attribute n’était pas SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE ou SQL_ATTR_CURSOR_SENSITIVITY.
[2] L’argument Attribute était SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE ou SQL_ATTR_CURSOR_SENSITIVITY.