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.