Transiciones de instrucción
Las instrucciones ODBC tienen los siguientes estados.
State | Descripción |
---|---|
S0 | Instrucción sin asignar. (El estado de conexión debe ser C4, C5 o C6. Para obtener más información, consulte Transiciones de conexión). |
S1 | Instrucción asignada. |
S2 | Instrucción preparada. No se creará ningún conjunto de resultados. |
S3 | Instrucción preparada. Se creará un conjunto de resultados (posiblemente vacío). |
S4 | Se ha ejecutado la instrucción y no se ha creado ningún conjunto de resultados. |
S5 | Se creó una instrucción ejecutada y se creó un conjunto de resultados (posiblemente vacío). El cursor está abierto y colocado antes de la primera fila del conjunto de resultados. |
S6 | Cursor colocado con SQLFetch o SQLFetchScroll. |
S7 | Cursor colocado con SQLExtendedFetch. |
S8 | La función necesita datos. No se ha llamado a SQLParamData. |
S9 | La función necesita datos. No se ha llamado a SQLPutData. |
S10 | La función necesita datos. Se ha llamado a SQLPutData. |
S11 | Todavía ejecutándose. Una instrucción se deja en este estado después de que una función que se ejecute de forma asincrónica devuelva SQL_STILL_EXECUTING. Una instrucción está temporalmente en este estado mientras se ejecuta cualquier función que acepte un identificador de instrucción. La residencia temporal en el estado S11 no se muestra en ninguna tabla de estado excepto la tabla de estado para SQLCancel. Aunque una instrucción está temporalmente en el estado S11, la función se puede cancelar llamando a SQLCancel desde otro subproceso. |
S12 | Ejecución asincrónica cancelada. En S12, una aplicación debe llamar a la función cancelada hasta que devuelva un valor distinto de SQL_STILL_EXECUTING. La función se canceló correctamente solo si la función devuelve SQL_ERROR y SQLSTATE HY008 (operación cancelada). Si devuelve cualquier otro valor, como SQL_SUCCESS, se produjo un error en la operación de cancelación y la función se ejecutó normalmente. |
Los estados S2 y S3 se conocen como estados preparados, estados S5 a S7 como estados de cursor, estados S8 a S10 como estados de datos necesarios y estados S11 y S12 como estados asincrónicos. En cada uno de estos grupos, las transiciones se muestran por separado solo cuando son diferentes para cada estado del grupo; en la mayoría de los casos, las transiciones de cada estado de cada grupo son las mismas.
En las tablas siguientes se muestra cómo afecta cada función ODBC al estado de la instrucción.
SQLAllocHandle
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
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 fila muestra las transiciones cuando HandleType se SQL_HANDLE_ENV.
[2] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_DBC.
[3] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_STMT.
[4] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_DESC.
[5] Llamar a SQLAllocHandle con OutputHandlePtr apuntando a un identificador válido sobrescribe los sobrescritos que controlan sin tener en cuenta el contenido anterior a ese identificador y pueden causar problemas para los controladores ODBC. Es incorrecto programar aplicaciones ODBC para llamar a SQLAllocHandle dos veces con la misma variable de aplicación definida para *OutputHandlePtr sin llamar a SQLFreeHandle para liberar el identificador antes de reasignarlo. La sobrescritura de los identificadores ODBC de tal manera podría provocar un comportamiento o errores incoherentes en parte de los controladores ODBC.
SQLBindCol
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect y SQLDriverConnect
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
SQLBulkOperations
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Consulte la tabla siguiente | HY010 | NS [c] HY010 o |
SQLBulkOperations (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
-- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | S1[1] S2 [nr] y [2] S3 [r]y [2] S5[3] y [5] S6([3] o [4]) y [6] S7[4] y [7] | Consulte la tabla siguiente |
[1] SQLExecDirect devolvió SQL_NEED_DATA.
[2] SQLExecute devolvió SQL_NEED_DATA.
[3] SQLBulkOperations devolvió SQL_NEED_DATA.
[4] SQLSetPos devolvió SQL_NEED_DATA.
[5] No se ha llamado a SQLFetch, SQLFetchScroll o SQLExtendedFetch .
Se ha llamado a SQLFetch o SQLFetchScroll .
Se ha llamado a SQLExtendedFetch .
SQLCancel (estados asincrónicos)
S11 Todavía ejecutándose |
S12 Asincrónico cancelado |
---|---|
NS[1] S12[2] | S12 |
[1] La instrucción estaba temporalmente en el estado S11 mientras se estaba ejecutando una función. Se llamó a SQLCancel desde un subproceso diferente.
[2] La instrucción estaba en el estado S11 porque una función llamada devolvió de forma asincrónica SQL_STILL_EXECUTING.
SQLCloseCursor
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | 24000 | 24000 | 24000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Consulte la tabla siguiente | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (Estados preparados)
S2 Sin resultados |
S3 Results |
---|---|
--[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier se SQL_DESC_COUNT.
[2] FieldIdentifier no se SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges y SQLTables
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S5 [s] S11 [x] | S1 [e] S5 [s] S11 [x] | S1 [e] y [1] S5 [s] y [1] S11 [x] y [1] 24000[2] | Consulte la tabla siguiente | HY010 | NS [c] HY010 o |
[1] El resultado actual es el último o solo resultado, o no hay resultados actuales. Para obtener más información sobre varios resultados, vea Varios resultados.
[2] El resultado actual no es el último resultado.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges y SQLTables (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 | 24000[1] | 24000 |
[1] El Administrador de controladores devuelve este error si SQLFetch o SQLFetchScroll no ha devuelto SQL_NO_DATA y el controlador devuelve si SQLFetch o SQLFetchScroll ha devuelto SQL_NO_DATA.
SQLCopyDesc
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | NS [c] y [3] HY010 [o] o [4] |
IH[2] | HY010 | Consulte la tabla siguiente | 24000 | -- [s] S11 x | HY010 | NS [c] y [3] HY010 [o] o [4] |
[1] Esta fila muestra las transiciones cuando el argumento SourceDescHandle era ARD, APD o IPD.
[2] Esta fila muestra las transiciones cuando el argumento SourceDescHandle era un IRD.
[3] Los argumentos SourceDescHandle y TargetDescHandle eran los mismos que en la función SQLCopyDesc que se ejecuta de forma asincrónica.
[4] El argumento SourceDescHandle o el argumento TargetDescHandle (o ambos) eran diferentes de la función SQLCopyDesc que se ejecuta de forma asincrónica.
SQLCopyDesc (Estados preparados)
S2 Sin resultados |
S3 Results |
---|---|
24000[1] | -- [s] S11 [x] |
[1] Esta fila muestra las transiciones cuando el argumento SourceDescHandle era un IRD.
SQLDataSources y SQLDrivers
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Consulte la tabla siguiente | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (estados preparados)
S2 Sin resultados |
S3 Results |
---|---|
07005 | -- [s] S11 [x] |
SQLDescribeParam
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
SQLDisconnect
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] Al llamar a SQLDisconnect , se liberan todas las instrucciones asociadas a la conexión. Además, esto devuelve el estado de conexión a C2; el estado de conexión debe ser C4 antes de que el estado de la instrucción sea S0.
SQLEndTran
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | --[2] o [3] S1[1] | --[3] S1 [np] y ([1] o [2]) S1 [p] y [1] S2 [p] y [2] | --[3] S1 [np] y ([1] o [2]) S1 [p] y [1] S3 [p] y [2] | (HY010) | (HY010) |
[1] El argumento CompletionType es SQL_COMMIT y SQLGetInfo devuelve SQL_CB_DELETE para el tipo de información de SQL_CURSOR_COMMIT_BEHAVIOR o el argumento CompletionType es SQL_ROLLBACK y SQLGetInfo devuelve SQL_CB_DELETE para el tipo de información de SQL_CURSOR_ROLLBACK_BEHAVIOR.
[2] El argumento CompletionType es SQL_COMMIT y SQLGetInfo devuelve SQL_CB_CLOSE para el tipo de información SQL_CURSOR_COMMIT_BEHAVIOR, o el argumento CompletionType se SQL_ROLLBACK y SQLGetInfo devuelve SQL_CB_CLOSE para el tipo de información de SQL_CURSOR_ROLLBACK_BEHAVIOR.
[3] El argumento CompletionType es SQL_COMMIT y SQLGetInfo devuelve SQL_CB_PRESERVE para el tipo de información SQL_CURSOR_COMMIT_BEHAVIOR, o el argumento CompletionType es SQL_ROLLBACK y SQLGetInfo devuelve SQL_CB_PRESERVE para el tipo de información SQL_CURSOR_ROLLBACK_BEHAVIOR.
SQLExecDirect
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S4 [s] y [nr] S5 [s] y [r] S8 [d] S11 [x] | -- [e] y [1] S1 [e] y [2] S4 [s] y [nr] S5 [s] y [r] S8 [d] S11 [x] | -- [e], [1], y [3] S1 [e], [2] y [3] S4 [s], [nr], y [3] S5 [s], [r], y [3] S8 [d] y [3] S11 [x] y [3] 24000 [4] | Consulte la tabla siguiente. | HY010 | NS [c] HY010 [o] |
[1] El Administrador de controladores devolvió el error.
[2] El Administrador de controladores no devolvió el error.
[3] El resultado actual es el último o solo resultado, o no hay ningún resultado actual. Para obtener más información sobre varios resultados, vea Varios resultados.
[4] El resultado actual no es el último resultado.
SQLExecDirect (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 | 24000 [1] | 24000 |
[1] El Administrador de controladores devuelve este error si SQLFetch o SQLFetchScroll no ha devuelto SQL_NO_DATA y el controlador devuelve si SQLFetch o SQLFetchScroll ha devuelto SQL_NO_DATA.
SQLExecute
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | Consulte la tabla siguiente. | S2 [e], p y [1] S4 [s], [p], [nr], y [1] S5 [s], [p], [r], y [1] S8 [d], [p], [p] y [1] S11 [x], [p], y [1] 24000 [p] y [2] HY010 [np] | Consulte la tabla de estados del cursor. | HY010 | NS [c] HY010 [o] |
[1] El resultado actual es el último o solo resultado, o no hay resultados actuales. Para obtener más información sobre varios resultados, vea Varios resultados.
[2] El resultado actual no es el último resultado.
SQLExecute (Estados preparados)
S2 Sin resultados |
S3 Results |
---|---|
S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] El Administrador de controladores devuelve este error si SQLFetch o SQLFetchScroll no ha devuelto SQL_NO_DATA y el controlador devuelve si SQLFetch o SQLFetchScroll ha devuelto SQL_NO_DATA.
SQLExtendedFetch
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | S1010 | S1010 | 24000 | Consulte la tabla siguiente. | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S7 [s] o [nf] S11 [x] | S1010 | -- [s] o [nf] S11 [x] |
SQLFetch y SQLFetchScroll
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Consulte la tabla siguiente. | HY010 | NS [c] HY010 [o] |
SQLFetch y SQLFetchScroll (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S6 [s] o [nf] S11 [x] | -- [s] o [nf] S11 [x] | HY010 |
SQLFreeHandle
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
-- [3] | -- | -- | -- | -- | -- | -- |
[1] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_ENV o SQL_HANDLE_DBC.
[2] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_STMT.
[3] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_DESC y el descriptor se asignó explícitamente.
SQLFreeStmt
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Esta fila muestra las transiciones cuando Option se SQL_CLOSE.
[2] Esta fila muestra las transiciones cuando Option se SQL_UNBIND o SQL_RESET_PARAMS. Si el argumento Option se SQL_DROP y el controlador subyacente es un controlador ODBC 3*.x*, el Administrador de controladores asigna esto a una llamada a SQLFreeHandle con HandleType establecido en SQL_HANDLE_STMT. Para obtener más información, consulte la tabla de transición para SQLFreeHandle.
SQLGetConnectAttr
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Consulte la tabla siguiente. | HY010 | NS [c] HY010 [o] |
SQLGetData (estados de cursor)
S5 Abierto |
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 y SQLGetDescRec
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- [1] o [2] HY010 [3] | Consulte la tabla siguiente. | -- [1] o [2] 24000 [3] | -- [1], [2] o [3] S11 [3] y [x] | HY010 | NS [c] o [4] HY010 [o] y [5] |
[1] El argumento DescriptorHandle era un APD o ARD.
[2] El argumento DescriptorHandle era un IPD.
[3] El argumento DescriptorHandle era un IRD.
[4] El argumento DescriptorHandle era el mismo que el argumento DescriptorHandle en la función SQLGetDescField o SQLGetDescRec que se ejecuta de forma asincrónica.
[5] El argumento DescriptorHandle era diferente del argumento DescriptorHandle de la función SQLGetDescField o SQLGetDescRec que se ejecuta de forma asincrónica.
SQLGetDescField y SQLGetDescRec (estados preparados)
S2 Sin resultados |
S3 Results |
---|---|
--[1], [2] o [3] S11[2] y [x] | --[1], [2] o [3] S11 [x] |
[1] El argumento DescriptorHandle era un APD o ARD.
[2] El argumento DescriptorHandle era un IPD.
[3] El argumento DescriptorHandle era un IRD. Tenga en cuenta que estas funciones siempre devuelven SQL_NO_DATA en el estado S2 cuando DescriptorHandle era un IRD.
SQLGetDiagField y SQLGetDiagRec
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | -- | -- | -- |
IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Esta fila muestra las transiciones cuando HandleType se SQL_HANDLE_ENV, SQL_HANDLE_DBC o SQL_HANDLE_DESC.
[2] Esta fila muestra las transiciones cuando handleType se SQL_HANDLE_STMT.
[3] SQLGetDiagField siempre devuelve un error en este estado cuando DiagIdentifier está SQL_DIAG_ROW_COUNT.
SQLGetEnvAttr
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetStmtAttr
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | Consulte la tabla siguiente. | HY010 | HY010 |
[1] El atributo de instrucción no se SQL_ATTR_ROW_NUMBER.
[2] El atributo de instrucción se SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
--[1] 24000[2] | --[1] o ([v] y [2]) 24000 [b] y [2] HY109 [i] y [2] | -- [i] o ([v] y [2]) 24000 [b] y [2] HY109[1] y [2] |
[1] El argumento Attribute no se SQL_ATTR_ROW_NUMBER.
[2] El argumento Attribute se SQL_ATTR_ROW_NUMBER.
SQLMoreResults
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | --[1] | --[1] | -- [s] y [2] S1 [nf], [np], y [4] S2 [nf], [p], y [4] S5 [s] y [3] S11 [x] | S1 [nf], [np], y [4] S3 [nf], [p] y [4] S4 [s] y [2] S5 [s] y [3] S11 [x] | HY010 | NS [c] HY010 [o] |
[1] La función siempre devuelve SQL_NO_DATA en este estado.
[2] El siguiente resultado es un recuento de filas.
[3] El siguiente resultado es un conjunto de resultados.
[4] El resultado actual es el último resultado.
SQLNativeSql
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLNumParams
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Consulte la tabla siguiente. | NS [c] HY010 [o] |
SQLParamData (necesita estados de datos)
S8 Necesidad de datos |
S9 Debe colocar |
S10 Puede colocar |
---|---|---|
S1 [e] y [1] S2 [e], [nr], y [2] S3 [e], [r], y [2] S5 [e] y [4] S6 [e] y [5] S7 [e] y [3] S9 [d] S11 [x] | HY010 | S1 [e] y [1] S2 [e], [nr], y [2] S3 [e], [r], y [2] S4 [s], [nr], and ([1] o [2]) S5 [s], [r], y ([ 1] o [2]) S5 ([s] o [e]) y [4] S6 ([s] o [e]) y [5] S7 ([s] o [e]) y [3] S9 [d] S11 [x] |
[1] SQLExecDirect devolvió SQL_NEED_DATA.
[2] SQLExecute devolvió SQL_NEED_DATA.
[3] Se había llamado a SQLSetPos desde el estado S7 y devolvió SQL_NEED_DATA.
[4] Se había llamado a SQLBulkOperations desde el estado S5 y devolvió SQL_NEED_DATA.
[5] Se había llamado a SQLSetPos o SQLBulkOperations desde el estado S6 y devolvió SQL_NEED_DATA.
SQLPrepare
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S2 [s] y [nr] S3 [s] y [r] S11 [x] | -- [s] o ([e] y [1]) S1 [e] y [2] S11 [x] | S1 [e] y [3] S2 [s], [nr], y [3] S3 [s], [r] y [3] S11 [x] y [3] 24000[4] | Consulte la tabla siguiente. | HY010 | NS [c] HY010 [o] |
[1] Se produce un error en la preparación por un motivo distinto de validar la instrucción (SQLSTATE era HY009 [Valor de argumento no válido] o HY090 [Longitud de búfer o cadena no válida]).
[2] Se produce un error en la preparación al validar la instrucción (SQLSTATE no era HY009 [Valor de argumento no válido] o HY090 [longitud de búfer o cadena no válida]).
[3] El resultado actual es el último o solo resultado, o no hay ningún resultado actual. Para obtener más información sobre varios resultados, vea Varios resultados.
[4] El resultado actual no es el último resultado.
SQLPrepare (estados de cursor)
S5 Abierto |
S6 SQLFetch o SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 | 24000 | 24000 |
SQLPutData
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Consulte la tabla siguiente. | NS [c] HY010 [o] |
SQLPutData (necesita estados de datos)
S8 Necesidad de datos |
S9 Debe colocar |
S10 Puede colocar |
---|---|---|
HY010 | S1 [e] y [1] S2 [e], [nr], y [2] S3 [e], [r], y [2] S5 [e] y [4] S6 [e] y [5] S7 [e] y [3] S10 [s] S11 [x] | -- [s] S1 [e] y [1] S2 [e], [nr], y [2] S3 [e], [r], y [2] S5 [e] y [4] S6 [e] y [5] S7 [e] y [3] S11 [x] HY011[6] |
[1] SQLExecDirect devolvió SQL_NEED_DATA.
[2] SQLExecute devolvió SQL_NEED_DATA.
[3] Se había llamado a SQLSetPos desde el estado S7 y devolvió SQL_NEED_DATA.
[4] Se había llamado a SQLBulkOperations desde el estado S5 y devolvió SQL_NEED_DATA.
[5] Se había llamado a SQLSetPos o SQLBulkOperations desde el estado S6 y devolvió SQL_NEED_DATA.
[6] Una o varias llamadas a SQLPutData para un único parámetro devuelto SQL_SUCCESS y, a continuación, se realizó una llamada a SQLPutData para el mismo parámetro con StrLen_or_Ind establecido en SQL_NULL_DATA.
SQLRowCount
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Esta fila muestra las transiciones cuando Attribute era un atributo de conexión. Para ver las transiciones cuando Attribute era un atributo de instrucción, consulte la tabla de transición de instrucciones para SQLSetStmtAttr.
[2] El argumento Attribute no se SQL_ATTR_CURRENT_CATALOG.
[3] El argumento Attribute se SQL_ATTR_CURRENT_CATALOG.
SQLSetCursorName
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | 24000 | 24000 | HY010 | HY010 |
SQLSetDescField y SQLSetDescRec
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Esta fila muestra transiciones en las que el argumento DescriptorHandle es un ARD, APD, IPD o (para SQLSetDescField) un IRD cuando el argumento FieldIdentifier es SQL_DESC_ARRAY_STATUS_PTR o SQL_DESC_ROWS_PROCESSED_PTR. Es un error llamar a SQLSetDescField para un IRD cuando FieldIdentifier es cualquier otro valor.
SQLSetEnvAttr
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
SQLSetPos
S0 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24000 | Consulte la tabla siguiente | HY010 | NS [c] HY010 [o] |
SQLSetPos (estados de cursor)
S5 Abierto |
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 Sin asignar |
S1 Allocated |
S2-S3 Prepared |
S4 Ejecutado |
S5-S7 Cursor |
S8-S10 Necesidad de datos |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] o [1] HY011 [p] y [2] | HY010 [np] o [1] HY011 [p] y [2] |
[1] El argumento Attribute no se 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] El argumento Attribute se SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE o SQL_ATTR_CURSOR_SENSITIVITY.