Transizioni di istruzione
Le istruzioni ODBC hanno gli stati seguenti.
Provincia | Descrizione |
---|---|
S0 | Istruzione non allocata. Lo stato della connessione deve essere C4, C5 o C6. Per altre informazioni, vedere Transizioni di connessione. |
S1 | Istruzione allocata. |
S2 | Istruzione preparata. Non verrà creato alcun set di risultati. |
S3 | Istruzione preparata. Verrà creato un set di risultati (possibilmente vuoto). |
S4 | Istruzione eseguita e non è stato creato alcun set di risultati. |
S5 | L'istruzione eseguita e un set di risultati (possibilmente vuoto) è stato creato. Il cursore è aperto e posizionato prima della prima riga del set di risultati. |
S6 | Cursore posizionato con SQLFetch o SQLFetchScroll. |
S7 | Cursore posizionato con SQLExtendedFetch. |
S8 | La funzione necessita di dati. SQLParamData non è stato chiamato. |
S9 | La funzione necessita di dati. SQLPutData non è stato chiamato. |
S10 | La funzione necessita di dati. SQLPutData è stato chiamato. |
S11 | Ancora in esecuzione. Un'istruzione viene lasciata in questo stato dopo che una funzione eseguita restituisce SQL_STILL_EXECUTING in modo asincrono. Un'istruzione è temporaneamente in questo stato mentre è in esecuzione qualsiasi funzione che accetta un handle di istruzione. La residenza temporanea nello stato S11 non viene visualizzata in alcuna tabella di stato ad eccezione della tabella di stato per SQLCancel. Mentre un'istruzione è temporaneamente nello stato S11, la funzione può essere annullata chiamando SQLCancel da un altro thread. |
S12 | Esecuzione asincrona annullata. In S12, un'applicazione deve chiamare la funzione annullata fino a quando non restituisce un valore diverso da SQL_STILL_EXECUTING. La funzione è stata annullata correttamente solo se la funzione restituisce SQL_ERROR e SQLSTATE HY008 (operazione annullata). Se restituisce qualsiasi altro valore, ad esempio SQL_SUCCESS, l'operazione di annullamento non è riuscita e la funzione viene eseguita normalmente. |
Gli stati S2 e S3 sono noti come stati preparati, stati da S5 a S7 come stati del cursore, da S8 a S10 come stati dei dati necessari e stati S11 e S12 come stati asincroni. In ognuno di questi gruppi le transizioni vengono visualizzate separatamente solo quando sono diverse per ogni stato nel gruppo; nella maggior parte dei casi, le transizioni per ogni stato in ogni gruppo sono uguali.
Nelle tabelle seguenti viene illustrato come ogni funzione ODBC influisce sullo stato dell'istruzione.
SQLAllocHandle
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
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] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV.
[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DBC.
[3] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.
[4] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DESC.
[5] La chiamata di SQLAllocHandle con OutputHandlePtr punta a un handle valido sovrascrive che gestisce senza considerare il contenuto precedente di tale handle e potrebbe causare problemi per i driver ODBC. La programmazione dell'applicazione ODBC non è corretta per chiamare SQLAllocHandle due volte con la stessa variabile dell'applicazione definita per *OutputHandlePtr senza chiamare SQLFreeHandle per liberare l'handle prima di riallocare l'handle. La sovrascrittura di handle ODBC in questo modo può causare comportamenti incoerenti o errori nella parte dei driver ODBC.
SQLBindCol
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect e SQLDriverConnect
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
Sqlbulkoperations
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Vedere la tabella successiva | HY010 | NS [c] HY010 o |
SQLBulkOperations (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
-- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | S1[1] S2 [nr] e [2] S3 [r]e [2] S5[3] e [5] S6([3] o [4]) e [6] S7[4] e [7] | Vedere la tabella successiva |
[1] SQLExecDirect ha restituito SQL_NEED_DATA.
[2] SQLExecute ha restituito SQL_NEED_DATA.
[3] SQLBulkOperations ha restituito SQL_NEED_DATA.
[4] SQLSetPos ha restituito SQL_NEED_DATA.
[5] SQLFetch, SQLFetchScroll o SQLExtendedFetch non è stato chiamato.
[6] SQLFetch o SQLFetchScroll era stato chiamato.
[7] SQLExtendedFetch era stato chiamato.
SQLCancel (stati asincroni)
S11 Ancora in esecuzione |
S12 Asynch annullato |
---|---|
NS[1] S12[2] | S12 |
[1] L'istruzione era temporaneamente nello stato S11 durante l'esecuzione di una funzione. SQLCancel è stato chiamato da un thread diverso.
[2] L'istruzione era nello stato S11 perché una funzione chiamata restituita in modo asincrono SQL_STILL_EXECUTING.
SQLCloseCursor
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | 24000 | 24000 | 24000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Vedere la tabella successiva | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (Stati preparati)
S2 Nessun risultato |
S3 Risultati |
---|---|
--[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier è stato SQL_DESC_COUNT.
[2] FieldIdentifier non è stato SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S5 [s] S11 [x] | S1 [e] S5 [s] S11 [x] | S1 [e] e [1] S5 [s] e [1] S11 [x] e [1] 24000[2] | Vedere la tabella successiva | HY010 | NS [c] HY010 o |
[1] Il risultato corrente è l'ultimo risultato o solo oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.
[2] Il risultato corrente non è l'ultimo risultato.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables (Stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 | 24000[1] | 24000 |
[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.
SQLCopyDesc
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | NS [c] e [3] HY010 [o] o [4] |
IH[2] | HY010 | Vedere la tabella successiva | 24000 | -- [s] S11 x | HY010 | NS [c] e [3] HY010 [o] o [4] |
[1] Questa riga mostra le transizioni quando l'argomento SourceDescHandle è un ARD, APD o IPD.
[2] Questa riga mostra le transizioni quando l'argomento SourceDescHandle era un IRD.
[3] Gli argomenti SourceDescHandle e TargetDescHandle erano gli stessi della funzione SQLCopyDesc in esecuzione in modo asincrono.
[4] L'argomento SourceDescHandle o l'argomento TargetDescHandle (o entrambi) erano diversi rispetto alla funzione SQLCopyDesc in esecuzione in modo asincrono.
SQLCopyDesc (Stati preparati)
S2 Nessun risultato |
S3 Risultati |
---|---|
24000[1] | -- [s] S11 [x] |
[1] Questa riga mostra le transizioni quando l'argomento SourceDescHandle era un IRD.
SQLDataSources e SQLDrivers
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Vedere la tabella successiva | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (Stati preparati)
S2 Nessun risultato |
S3 Risultati |
---|---|
07005 | -- [s] S11 [x] |
SQLDescribeParam
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
Sqldisconnect
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] La chiamata a SQLDisconnect libera tutte le istruzioni associate alla connessione. Inoltre, questo restituisce lo stato di connessione a C2; lo stato della connessione deve essere C4 prima che lo stato dell'istruzione sia S0.
SQLEndTran
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | --[2] o [3] S1[1] | --[3] S1 [np] e ([1] o [2]) S1 [p] e [1] S2 [p] e [2] | --[3] S1 [np] e ([1] o [2]) S1 [p] e [1] S3 [p] e [2] | (HY010) | (HY010) |
[1] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_DELETE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_DELETE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.
[2] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_CLOSE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_CLOSE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.
[3] L'argomento CompletionType è SQL_COMMIT e SQLGetInfo restituisce SQL_CB_PRESERVE per il tipo di informazioni SQL_CURSOR_COMMIT_BEHAVIOR oppure l'argomento CompletionType è SQL_ROLLBACK e SQLGetInfo restituisce SQL_CB_PRESERVE per il tipo di informazioni SQL_CURSOR_ROLLBACK_BEHAVIOR.
SQLExecDirect
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S4 [s] e [nr] S5 [s] e [r] S8 [d] S11 [x] | -- [e] e [1] S1 [e] e [2] S4 [s] e [nr] S5 [s] e [r] S8 [d] S11 [x] | -- [e], [1], e [3] S1 [e], [2], e [3] S4 [s], [nr], e [3] S5 [s], [r], e [3] S8 [d] e [3] S11 [x] e [3] 24000 [4] | Vedere la tabella successiva | HY010 | NS [c] HY010 [o] |
[1] L'errore è stato restituito da Gestione driver.
[2] L'errore non è stato restituito da Gestione driver.
[3] Il risultato corrente è l'ultimo o solo risultato oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.
[4] Il risultato corrente non è l'ultimo risultato.
SQLExecDirect (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 | 24000 [1] | 24000 |
[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.
SQLExecute
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | Vedere la tabella successiva | S2 [e], p, e [1] S4 [s], [p], [nr], e [1] S5 [s], [p], [r], e [1] S8 [d], [p], e [1] S11 [x], [p], e [1] 24000 [p] e [2] HY010 [np] | Vedere la tabella degli stati del cursore | HY010 | NS [c] HY010 [o] |
[1] Il risultato corrente è l'ultimo risultato o solo oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.
[2] Il risultato corrente non è l'ultimo risultato.
SQLExecute (Stati preparati)
S2 Nessun risultato |
S3 Risultati |
---|---|
S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] Questo errore viene restituito da Gestione driver se SQLFetch o SQLFetchScroll non ha restituito SQL_NO_DATA e viene restituito dal driver se SQLFetch o SQLFetchScroll ha restituito SQL_NO_DATA.
Sqlextendedfetch
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | S1010 | S1010 | 24000 | Vedere la tabella successiva | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
S7 [s] o [nf] S11 [x] | S1010 | -- [s] o [nf] S11 [x] |
SQLFetch e SQLFetchScroll
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Vedere la tabella successiva | HY010 | NS [c] HY010 [o] |
SQLFetch e SQLFetchScroll (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
S6 [s] o [nf] S11 [x] | -- [s] o [nf] S11 [x] | HY010 |
SQLFreeHandle
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
-- [3] | -- | -- | -- | -- | -- | -- |
[1] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV o SQL_HANDLE_DBC.
[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.
[3] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_DESC e il descrittore è stato allocato in modo esplicito.
SQLFreeStmt
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Questa riga mostra le transizioni quando Option è stato SQL_CLOSE.
[2] Questa riga mostra le transizioni quando Option è stato SQL_UNBIND o SQL_RESET_PARAMS. Se l'argomento Option è stato SQL_DROP e il driver sottostante è un driver ODBC 3*.x*, Gestione driver esegue il mapping a una chiamata a SQLFreeHandle con HandleType impostato su SQL_HANDLE_STMT. Per altre informazioni, vedere la tabella di transizione per SQLFreeHandle.
SQLGetConnectAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Vedere la tabella successiva | HY010 | NS [c] HY010 [o] |
SQLGetData (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 | -- [s] o [nf] S11 [x] 24000 [b] HY109 [i] | -- [s] o [nf] S11 [x] 24000 [b] HY109 [i] |
SQLGetDescField e SQLGetDescRec
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- [1] o [2] HY010 [3] | Vedere la tabella successiva | -- [1] o [2] 24000 [3] | -- [1], [2], o [3] S11 [3] e [x] | HY010 | NS [c] o [4] HY010 [o] e [5] |
[1] L'argomento DescriptorHandle era APD o ARD.
[2] L'argomento DescriptorHandle era un IPD.
[3] L'argomento DescriptorHandle era un IRD.
[4] L'argomento DescriptorHandle corrisponde all'argomento DescriptorHandle nella funzione SQLGetDescField o SQLGetDescRec in esecuzione in modo asincrono.
[5] L'argomento DescriptorHandle era diverso dall'argomento DescriptorHandle nella funzione SQLGetDescField o SQLGetDescRec in esecuzione in modo asincrono.
SQLGetDescField e SQLGetDescRec (Stati preparati)
S2 Nessun risultato |
S3 Risultati |
---|---|
--[1], [2]o [3] S11[2] e [x] | --[1], [2]o [3] S11 [x] |
[1] L'argomento DescriptorHandle era APD o ARD.
[2] L'argomento DescriptorHandle era un IPD.
[3] L'argomento DescriptorHandle era un IRD. Si noti che queste funzioni restituiscono sempre SQL_NO_DATA nello stato S2 quando DescriptorHandle era un IRD.
SQLGetDiagField e SQLGetDiagRec
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | -- | -- | -- |
IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_ENV, SQL_HANDLE_DBC o SQL_HANDLE_DESC.
[2] Questa riga mostra le transizioni quando HandleType è stato SQL_HANDLE_STMT.
[3] SQLGetDiagField restituisce sempre un errore in questo stato quando DiagIdentifier è SQL_DIAG_ROW_COUNT.
SQLGetEnvAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetStmtAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | Vedere la tabella successiva | HY010 | HY010 |
[1] L'attributo di istruzione non è stato SQL_ATTR_ROW_NUMBER.
[2] L'attributo di istruzione è stato SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
--[1] 24000[2] | --[1] or ([v] e [2]) 24000 [b] e [2] HY109 [i] e [2] | -- [i] o ([v] e [2]) 24000 [b] e [2] HY109[1] e [2] |
[1] L'argomento Attribute non è stato SQL_ATTR_ROW_NUMBER.
[2] L'argomento Attribute è stato SQL_ATTR_ROW_NUMBER.
SQLMoreResults
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | --[1] | --[1] | -- [s] e [2] S1 [nf], [np], e [4] S2 [nf], [p], e [4] S5 [s] e [3] S11 [x] | S1 [nf], [np], e [4] S3 [nf], [p] e [4] S4 [s] e [2] S5 [s] e [3] S11 [x] | HY010 | NS [c] HY010 [o] |
[1] La funzione restituisce sempre SQL_NO_DATA in questo stato.
[2] Il risultato successivo è un conteggio delle righe.
[3] Il risultato successivo è un set di risultati.
[4] Il risultato corrente è l'ultimo risultato.
SQLNativeSql
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLNumParams
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Vedere la tabella successiva | NS [c] HY010 [o] |
SQLParamData (sono necessari gli stati dei dati)
S8 Dati necessari |
S9 Deve mettere |
S10 Può mettere |
---|---|---|
S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S9 [d] S11 [x] | HY010 | S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S4 [s], [nr], and ([1] or [2]) S5 [s], [r], and ([1] or [2]) S5 ([s] or [e]) e [4] S6 ([s] or [e]) e [5] S7 ([s] or [e]) e [3] S9 [d] S11 [x] |
[1] SQLExecDirect ha restituito SQL_NEED_DATA.
[2] SQLExecute ha restituito SQL_NEED_DATA.
[3] SQLSetPos era stato chiamato dallo stato S7 e restituito SQL_NEED_DATA.
[4] SQLBulkOperations era stato chiamato dallo stato S5 e restituito SQL_NEED_DATA.
[5] SQLSetPos o SQLBulkOperations erano stati chiamati dallo stato S6 e restituiti SQL_NEED_DATA.
SQLPrepare
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S2 [s] e [nr] S3 [s] e [r] S11 [x] | -- [s] o ([e] e [1]) S1 [e] e [2] S11 [x] | S1 [e] e [3] S2 [s], [nr], e [3] S3 [s], [r], e [3] S11 [x] e [3] 24000[4] | Vedere la tabella successiva | HY010 | NS [c] HY010 [o] |
[1] La preparazione non riesce per un motivo diverso dalla convalida dell'istruzione (SQLSTATE era HY009 [Valore argomento non valido] o HY090 [Stringa o lunghezza buffer non valida]).
[2] La preparazione non riesce durante la convalida dell'istruzione (SQLSTATE non era HY009 [Valore argomento non valido] o HY090 [Stringa o lunghezza buffer non valida]).
[3] Il risultato corrente è l'ultimo o solo risultato oppure non sono presenti risultati correnti. Per altre informazioni su più risultati, vedere Più risultati.
[4] Il risultato corrente non è l'ultimo risultato.
SQLPrepare (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 | 24000 | 24000 |
SQLPutData
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Vedere la tabella successiva | NS [c] HY010 [o] |
SQLPutData (sono necessari gli stati dei dati)
S8 Dati necessari |
S9 Deve mettere |
S10 Può mettere |
---|---|---|
HY010 | S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S10 [s] S11 [x] | -- [s] S1 [e] e [1] S2 [e], [nr], e [2] S3 [e], [r], e [2] S5 [e] e [4] S6 [e] e [5] S7 [e] e [3] S11 [x] HY011[6] |
[1] SQLExecDirect ha restituito SQL_NEED_DATA.
[2] SQLExecute ha restituito SQL_NEED_DATA.
[3] SQLSetPos era stato chiamato dallo stato S7 e restituito SQL_NEED_DATA.
[4] SQLBulkOperations era stato chiamato dallo stato S5 e restituito SQL_NEED_DATA.
[5] SQLSetPos o SQLBulkOperations erano stati chiamati dallo stato S6 e restituiti SQL_NEED_DATA.
[6] Una o più chiamate a SQLPutData per un singolo parametro restituito SQL_SUCCESS, quindi è stata eseguita una chiamata a SQLPutData per lo stesso parametro con StrLen_or_Ind impostato su SQL_NULL_DATA.
SQLRowCount
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Questa riga mostra le transizioni quando Attribute era un attributo di connessione. Per le transizioni quando Attribute è un attributo di istruzione, vedere la tabella di transizione dell'istruzione per SQLSetStmtAttr.
[2] L'argomento Attribute non è stato SQL_ATTR_CURRENT_CATALOG.
[3] L'argomento Attribute è stato SQL_ATTR_CURRENT_CATALOG.
SQLSetCursorName
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | 24000 | 24000 | HY010 | HY010 |
SQLSetDescField e SQLSetDescRec
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Questa riga mostra le transizioni in cui l'argomento DescriptorHandle è ARD, APD, IPD o (per SQLSetDescField) un IRD quando l'argomento FieldIdentifier è SQL_DESC_ARRAY_STATUS_PTR o SQL_DESC_ROWS_PROCESSED_PTR. È un errore chiamare SQLSetDescField per un oggetto IRD quando FieldIdentifier è qualsiasi altro valore.
SQLSetEnvAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
SQLSetPos
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Vedere la tabella successiva | HY010 | NS [c] HY010 [o] |
SQLSetPos (stati del cursore)
S5 Aperto |
S6 SQLFetch o SQLFetchScroll |
S7 Sqlextendedfetch |
---|---|---|
24000 | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] |
SQLSetStmtAttr
S0 Non allocato |
S1 Allocato |
S2-S3 Preparato |
S4 Eseguito |
S5-S7 Cursore |
S8-S10 Dati necessari |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] o [1] HY011 [p] e [2] | HY010 [np] o [1] HY011 [p] e [2] |
[1] L'argomento Attribute non è stato SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE o SQL_ATTR_CURSOR_SENSITIVITY.
[2] L'argomento Attribute è stato SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE o SQL_ATTR_CURSOR_SENSITIVITY.