Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As instruções ODBC têm os seguintes estados.
| Estado | Descrição |
|---|---|
| S0 | Instrução não alocada. (O estado da conexão deve ser C4, C5 ou C6. Para obter mais informações, consulte Transições de conexão.) |
| S1 | Instrução alocada. |
| S2 | Instrução preparada. Nenhum conjunto de resultados será criado. |
| S3 | Instrução preparada. Um conjunto de resultados (possivelmente vazio) será criado. |
| S4 | Instrução executada e nenhum conjunto de resultados foi criado. |
| S5 | Instrução executada e um conjunto de resultados (possivelmente vazio) foi criado. O cursor é aberto e posicionado antes da primeira linha do conjunto de resultados. |
| S6 | Cursor posicionado com SQLFetch ou SQLFetchScroll. |
| S7 | Cursor posicionado com SQLExtendedFetch. |
| S8 | A função precisa de dados. SQLParamData não foi chamado. |
| S9 | A função precisa de dados. SQLPutData não foi chamado. |
| S10 | A função precisa de dados. SQLPutData foi chamado. |
| S11 | Ainda em execução. Uma instrução é deixada nesse estado depois que uma função executada de forma assíncrona retorna SQL_STILL_EXECUTING. Uma instrução está temporariamente nesse estado enquanto qualquer função que aceita um identificador de instrução está em execução. A residência temporária no estado S11 não é mostrada em nenhuma tabela de estado, exceto na tabela de estado do SQLCancel. Embora uma instrução esteja temporariamente no estado S11, a função pode ser cancelada chamando SQLCancel de outro thread. |
| S12 | Execução assíncrona cancelada. No S12, um aplicativo deve chamar a função cancelada até retornar um valor diferente de SQL_STILL_EXECUTING. A função só foi cancelada com êxito se a função retornar SQL_ERROR e SQLSTATE HY008 (Operação cancelada). Se retornar qualquer outro valor, como SQL_SUCCESS, a operação de cancelamento falhará e a função será executada normalmente. |
Os estados S2 e S3 são conhecidos como estados preparados, estados S5 a S7 como estados de cursor, estados S8 a S10 como os estados de dados de necessidade e estados S11 e S12 como os estados assíncronos. Em cada um desses grupos, as transições são mostradas separadamente somente quando são diferentes para cada estado no grupo; na maioria dos casos, as transições para cada estado em cada grupo são as mesmas.
As tabelas a seguir mostram como cada função ODBC afeta o estado da instrução.
SQLAllocHandle
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
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] Esta linha mostra transições quando HandleType foi SQL_HANDLE_ENV.
[2] Esta linha mostra transições quando HandleType foi SQL_HANDLE_DBC.
[3] Esta linha mostra transições quando HandleType foi SQL_HANDLE_STMT.
[4] Esta linha mostra transições quando HandleType foi SQL_HANDLE_DESC.
[5] Chamar SQLAllocHandle com OutputHandlePtr apontando para um identificador válido substitui que manipula sem considerar o conteúdo anterior para esse identificador e pode causar problemas para drivers ODBC. É uma programação de aplicativo ODBC incorreta para chamar SQLAllocHandle duas vezes com a mesma variável de aplicativo definida para *OutputHandlePtr sem chamar SQLFreeHandle para liberar o identificador antes de realocar. Substituir identificadores ODBC dessa maneira pode levar a comportamentos inconsistentes ou erros por parte dos drivers ODBC.
SQLBindCol
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect e SQLDriverConnect
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| 08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
SQLBulkOperations
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24.000 | Confira a próxima tabela | HY010 | NS [c] HY010 o |
SQLBulkOperations (estados de cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| -- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | S1[1] S2 [nr] e [2] S3 [r]e [2] S5[3] e [5] S6([3] ou [4]) e [6] S7[4] e [7] | Confira a próxima tabela |
[1] SQLExecDirect retornou SQL_NEED_DATA.
[2] SQLExecute retornou SQL_NEED_DATA.
[3] SQLBulkOperations retornou SQL_NEED_DATA.
[4] SQLSetPos retornou SQL_NEED_DATA.
[5] SQLFetch, SQLFetchScroll ou SQLExtendedFetch não foram chamados.
[6] SQLFetch ou SQLFetchScroll foram chamados.
[7] SQLExtendedFetch foi chamado.
SQLCancel (Estados Assíncronos)
| S11 Ainda em execução |
S12 Assíncrono cancelado |
|---|---|
| NS[1] S12[2] | S12 |
[1] A instrução estava temporariamente no estado S11 enquanto uma função estava em execução. SQLCancel foi chamado de um thread diferente.
[2] A instrução estava no estado S11 porque uma função chamada SQL_STILL_EXECUTING retornada de forma assíncrona.
SQLCloseCursor
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | 24.000 | 24.000 | 24.000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | Confira a próxima tabela | 24.000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (Estados preparados)
| S2 Nenhum Resultado |
S3 Resultados |
|---|---|
| --[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier foi SQL_DESC_COUNT.
[2] FieldIdentifier não foi SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
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] | Confira a próxima tabela | HY010 | NS [c] HY010 o |
[1] O resultado atual é o último ou único resultado ou não há resultados atuais. Para obter mais informações sobre vários resultados, consulte Vários resultados.
[2] O resultado atual não é o último resultado.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges e SQLTables (Cursor States)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24.000 | 24000[1] | 24.000 |
[1] Esse erro será retornado pelo Gerenciador de Driver se SQLFetch ou SQLFetchScroll não tiver retornado SQL_NO_DATA e for retornado pelo driver se SQLFetch ou SQLFetchScroll tiver retornado SQL_NO_DATA.
SQLCopyDesc
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH[1] | -- | -- | -- | -- | HY010 | NS [c] e [3] HY010 [o] ou [4] |
| IH[2] | HY010 | Confira a próxima tabela | 24.000 | -- [s] S11 x | HY010 | NS [c] e [3] HY010 [o] ou [4] |
[1] Essa linha mostra transições quando o argumento SourceDescHandle era um ARD, APD ou IPD.
[2] Essa linha mostra transições quando o argumento SourceDescHandle era um IRD.
[3] Os argumentos SourceDescHandle e TargetDescHandle eram os mesmos da função SQLCopyDesc que está sendo executada de forma assíncrona.
[4] O argumento SourceDescHandle ou o argumento TargetDescHandle (ou ambos) eram diferentes da função SQLCopyDesc que está sendo executada de forma assíncrona.
SQLCopyDesc (Estados preparados)
| S2 Sem resultados |
S3 Resultados |
|---|---|
| 24000[1] | -- [s] S11 [x] |
[1] Essa linha mostra transições quando o argumento SourceDescHandle era um IRD.
SQLDataSources e SQLDrivers
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | Confira a próxima tabela | 24.000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (Estados Preparados)
| S2 Sem resultados |
S3 Resultados |
|---|---|
| 07005 | -- [s] S11 [x] |
SQLDescribeParam
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
Sqldisconnect
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| --[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] Chamar SQLDisconnect libera todas as instruções associadas à conexão. Além disso, isso retorna o estado de conexão para C2; o estado de conexão deve ser C4 antes que o estado da instrução seja S0.
SQLEndTran
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | --[2] ou [3] S1[1] | --[3] S1 [np] e ([1] ou [2]) S1 [p] e [1] S2 [p] e [2] | --[3] S1 [np] e ([1] ou [2]) S1 [p] e [1] S3 [p] e [2] | (HY010) | (HY010) |
[1] O argumento CompletionType é SQL_COMMIT e SQLGetInfo retorna SQL_CB_DELETE para o tipo de informações SQL_CURSOR_COMMIT_BEHAVIOR ou o argumento CompletionType é SQL_ROLLBACK e SQLGetInfo retorna SQL_CB_DELETE para o tipo de informações SQL_CURSOR_ROLLBACK_BEHAVIOR.
[2] O argumento CompletionType é SQL_COMMIT e SQLGetInfo retorna SQL_CB_CLOSE para o tipo de informações SQL_CURSOR_COMMIT_BEHAVIOR ou o argumento CompletionType é SQL_ROLLBACK e SQLGetInfo retorna SQL_CB_CLOSE para o tipo de informações SQL_CURSOR_ROLLBACK_BEHAVIOR.
[3] O argumento CompletionType é SQL_COMMIT e SQLGetInfo retorna SQL_CB_PRESERVE para o tipo de informações SQL_CURSOR_COMMIT_BEHAVIOR ou o argumento CompletionType é SQL_ROLLBACK e SQLGetInfo retorna SQL_CB_PRESERVE para o tipo de informações SQL_CURSOR_ROLLBACK_BEHAVIOR.
SQLExecDirect
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
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] | Confira a próxima tabela | HY010 | NS [c] HY010 [o] |
[1] O erro foi retornado pelo Gerenciador de Driver.
[2] O erro não foi retornado pelo Gerenciador de Driver.
[3] O resultado atual é o último ou único resultado ou não há resultados atuais. Para obter mais informações sobre vários resultados, consulte Vários resultados.
[4] O resultado atual não é o último resultado.
SQLExecDirect (Estados do cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24.000 | 24000 [1] | 24.000 |
[1] Esse erro será retornado pelo Gerenciador de Driver se SQLFetch ou SQLFetchScroll não tiver retornado SQL_NO_DATA e for retornado pelo driver se SQLFetch ou SQLFetchScroll tiver retornado SQL_NO_DATA.
SQLExecute
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| (IH) | (HY010) | Confira a próxima tabela | S2 [e], p, and [1] S4 [s], [p], [nr], and [1] S5 [s], [p], [r], and [1] S8 [d], [p], and [1] S11 [x], [p], and [1] 24000 [p] and [2] HY010 [np] | Ver a tabela de estados do cursor | HY010 | NS [c] HY010 [o] |
[1] O resultado atual é o último ou único resultado ou não há resultados atuais. Para obter mais informações sobre vários resultados, consulte Vários resultados.
[2] O resultado atual não é o último resultado.
SQLExecute (Estados preparados)
| S2 Nenhum Resultado |
S3 Resultados |
|---|---|
| S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (estados de cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] Esse erro será retornado pelo Gerenciador de Driver se SQLFetch ou SQLFetchScroll não tiver retornado SQL_NO_DATA e for retornado pelo driver se SQLFetch ou SQLFetchScroll tiver retornado SQL_NO_DATA.
Sqlextendedfetch
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | S1010 | S1010 | 24.000 | Confira a próxima tabela | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (Estados do cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| S7 [s] ou [nf] S11 [x] | S1010 | -- [s] ou [nf] S11 [x] |
SQLFetch e SQLFetchScroll
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24.000 | Confira a próxima tabela | HY010 | NS [c] HY010 [o] |
SQLFetch e SQLFetchScroll (estados do cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| S6 [s] ou [nf] S11 [x] | -- [s] ou [nf] S11 [x] | HY010 |
SQLFreeHandle
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
| IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
| -- [3] | -- | -- | -- | -- | -- | -- |
[1] Esta linha mostra transições quando HandleType foi SQL_HANDLE_ENV ou SQL_HANDLE_DBC.
[2] Esta linha mostra transições quando HandleType foi SQL_HANDLE_STMT.
[3] Essa linha mostra transições quando HandleType foi SQL_HANDLE_DESC e o descritor foi alocado explicitamente.
SQLFreeStmt
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
| IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Esta linha mostra transições quando Option foi SQL_CLOSE.
[2] Esta linha mostra transições quando Option foi SQL_UNBIND ou SQL_RESET_PARAMS. Se o argumento Option foi SQL_DROP e o driver subjacente é um driver ODBC 3*.x*, o Gerenciador de Driver mapeia isso para uma chamada para SQLFreeHandle com HandleType definido como SQL_HANDLE_STMT. Para obter mais informações, consulte a tabela de transição para SQLFreeHandle.
SQLGetConnectAttr
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24.000 | Confira a próxima tabela | HY010 | NS [c] HY010 [o] |
SQLGetData (estados de cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24.000 | -- [s] ou [nf] S11 [x] 24000 [b] HY109 [i] | -- [s] ou [nf] S11 [x] 24000 [b] HY109 [i] |
SQLGetDescField e SQLGetDescRec
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- [1] ou [2] HY010 [3] | Confira a próxima tabela | -- [1] ou [2] 24000 [3] | -- [1], [2], ou [3] S11 [3] e [x] | HY010 | NS [c] ou [4] HY010 [o] e [5] |
[1] O argumento DescriptorHandle era um APD ou ARD.
[2] O argumento DescriptorHandle era um IPD.
[3] O argumento DescriptorHandle era um IRD.
[4] O argumento DescriptorHandle era o mesmo que o argumento DescriptorHandle na função SQLGetDescField ou SQLGetDescRec que está sendo executada de forma assíncrona.
[5] O argumento DescriptorHandle era diferente do argumento DescriptorHandle na função SQLGetDescField ou SQLGetDescRec que está sendo executada de forma assíncrona.
SQLGetDescField e SQLGetDescRec (Estados preparados)
| S2 Sem resultados |
S3 Resultados |
|---|---|
| --[1], [2], ou [3] S11[2] e [x] | --[1], [2], ou [3] S11 [x] |
[1] O argumento DescriptorHandle era um APD ou ARD.
[2] O argumento DescriptorHandle era um IPD.
[3] O argumento DescriptorHandle era um IRD. Observe que essas funções sempre retornam SQL_NO_DATA no estado S2 quando DescriptorHandle era um IRD.
SQLGetDiagField e SQLGetDiagRec
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| --[1] | -- | -- | -- | -- | -- | -- |
| IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Essa linha mostra transições quando HandleType foi SQL_HANDLE_ENV, SQL_HANDLE_DBC ou SQL_HANDLE_DESC.
[2] Essa linha mostra transições quando HandleType foi SQL_HANDLE_STMT.
[3] SQLGetDiagField sempre retorna um erro nesse estado quando DiagIdentifier é SQL_DIAG_ROW_COUNT.
SQLGetEnvAttr
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetStmtAttr
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | Confira a próxima tabela | HY010 | HY010 |
[1] O atributo de instrução não foi SQL_ATTR_ROW_NUMBER.
[2] O atributo de instrução foi SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (Estados do Cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| --[1] 24000[2] | --[1] ou ([v] e [2]) 24000 [b] e [2] HY109 [i] e [2] | -- [i] ou ([v] e [2]) 24000 [b] e [2] HY109[1] e [2] |
[1] O argumento Attribute não foi SQL_ATTR_ROW_NUMBER.
[2] O argumento Attribute foi SQL_ATTR_ROW_NUMBER.
SQLMoreResults
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
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] A função sempre retorna SQL_NO_DATA nesse estado.
[2] O próximo resultado é uma contagem de linhas.
[3] O próximo resultado é um conjunto de resultados.
[4] O resultado atual é o último resultado.
SQLNativeSql
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLNumParams
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | HY010 | HY010 | Confira a próxima tabela | NS [c] HY010 [o] |
SQLParamData (precisa de estados de dados)
| S8 Precisa de dados |
S9 Deve colocar |
S10 Pode Colocar |
|---|---|---|
| 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]) and [4] S6 ([s] or [e]) and [5] S7 ([s] or [e]) and [3] S9 [d] S11 [x] |
[1] SQLExecDirect retornou SQL_NEED_DATA.
[2] SQLExecute retornou SQL_NEED_DATA.
[3] SQLSetPos foi chamado do estado S7 e retornou SQL_NEED_DATA.
[4] SQLBulkOperations foi chamado do estado S5 e retornado SQL_NEED_DATA.
[5] SQLSetPos ou SQLBulkOperations foram chamados do estado S6 e retornados SQL_NEED_DATA.
SQLPrepare
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| (IH) | S2 [s] e [nr] S3 [s] e [r] S11 [x] | -- [s] ou ([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] | Confira a próxima tabela | HY010 | NS [c] HY010 [o] |
[1] A preparação falha por um motivo diferente de validar a instrução (o SQLSTATE era HY009 [valor de argumento inválido] ou HY090 [comprimento de buffer ou cadeia de caracteres inválida]).
[2] A preparação falha ao validar a instrução (o SQLSTATE não era HY009 [valor de argumento inválido] ou HY090 [comprimento de buffer ou cadeia de caracteres inválida]).
[3] O resultado atual é o último ou único resultado ou não há resultados atuais. Para obter mais informações sobre vários resultados, consulte Vários resultados.
[4] O resultado atual não é o último resultado.
SQLPrepare (Estados de Cursor)
| S5 Aberto |
S6 SQLFetch ou SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24.000 | 24.000 | 24.000 |
SQLPutData
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | HY010 | HY010 | Confira a próxima tabela | NS [c] HY010 [o] |
SQLPutData (precisa de estados de dados)
| S8 Precisa de dados |
S9 Deve colocar |
S10 Pode Colocar |
|---|---|---|
| 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 retornou SQL_NEED_DATA.
[2] SQLExecute retornou SQL_NEED_DATA.
[3] SQLSetPos foi chamado do estado S7 e retornou SQL_NEED_DATA.
[4] SQLBulkOperations foi chamado do estado S5 e retornou SQL_NEED_DATA.
[5] SQLSetPos ou SQLBulkOperations foram chamados do estado S6 e retornados SQL_NEED_DATA.
[6] Uma ou mais chamadas para SQLPutData para um único parâmetro retornado SQL_SUCCESS e, em seguida, uma chamada para SQLPutData foi feita para o mesmo parâmetro com StrLen_or_Ind definido como SQL_NULL_DATA.
SQLRowCount
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| (IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| --[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Esta linha mostra transições quando Attribute era um atributo de conexão. Para transições quando Attribute era um atributo de instrução, consulte a tabela de transição de instrução para SQLSetStmtAttr.
[2] O argumento Attribute não foi SQL_ATTR_CURRENT_CATALOG.
[3] O argumento Attribute foi SQL_ATTR_CURRENT_CATALOG.
Sqlsetcursorname
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | -- | 24.000 | 24.000 | HY010 | HY010 |
SQLSetDescField e SQLSetDescRec
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Esta linha mostra transições em que o argumento DescriptorHandle é um ARD, APD, IPD ou (para SQLSetDescField) um IRD quando o argumento FieldIdentifier é SQL_DESC_ARRAY_STATUS_PTR ou SQL_DESC_ROWS_PROCESSED_PTR. É um erro chamar SQLSetDescField para um IRD quando FieldIdentifier for qualquer outro valor.
SQLSetEnvAttr
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
SQLSetPos
| S0 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24.000 | Confira a próxima tabela | HY010 | NS [c] HY010 [o] |
SQLSetPos (estados de cursor)
| S5 Aberto |
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 Não alocado |
S1 Alocado |
S2-S3 Prepared |
S4 Executado |
S5-S7 Cursor |
S8-S10 Precisa de dados |
S11-S12 Async |
|---|---|---|---|---|---|---|
| IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] ou [1] HY011 [p] e [2] | HY010 [np] ou [1] HY011 [p] e [2] |
[1] O argumento Attribute não foi 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] O argumento Attribute foi SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE ou SQL_ATTR_CURSOR_SENSITIVITY.