Anweisungsübergänge
ODBC-Anweisungen weisen die folgenden Zustände auf.
State | BESCHREIBUNG |
---|---|
S0 | Nicht zugeordnete Anweisung. (Der Verbindungsstatus muss C4, C5 oder C6 sein. Weitere Informationen finden Sie unter Verbindungsübergänge.) |
S1 | Zugeordnete Anweisung. |
S2 | Prepared-Anweisung. Es wird kein Resultset erstellt. |
S3 | Prepared-Anweisung. Ein (möglicherweise leeres) Resultset wird erstellt. |
S4 | Die Anweisung wurde ausgeführt, und es wurde kein Resultset erstellt. |
S5 | Die Anweisung wurde ausgeführt, und ein (möglicherweise leeres) Resultset wurde erstellt. Der Cursor ist geöffnet und vor der ersten Zeile des Resultsets positioniert. |
S6 | Cursor positioniert mit SQLFetch oder SQLFetchScroll. |
S7 | Cursor positioniert mit SQLExtendedFetch. |
S8 | Die Funktion benötigt Daten. SQLParamData wurde nicht aufgerufen. |
S9 | Die Funktion benötigt Daten. SQLPutData wurde nicht aufgerufen. |
S10 | Die Funktion benötigt Daten. SQLPutData wurde aufgerufen. |
S11 | Wird weiterhin ausgeführt. Eine -Anweisung verbleibt in diesem Zustand, nachdem eine asynchron ausgeführte Funktion SQL_STILL_EXECUTING zurückgibt. Eine Anweisung befindet sich vorübergehend in diesem Zustand, während jede Funktion, die ein Anweisungshandle akzeptiert, ausgeführt wird. Der temporäre Aufenthalt im Zustand S11 wird in keiner Zustandstabelle mit Ausnahme der Zustandstabelle für SQLCancel angezeigt. Während sich eine Anweisung vorübergehend im Status S11 befindet, kann die Funktion abgebrochen werden, indem SQLCancel aus einem anderen Thread aufgerufen wird. |
S12 | Asynchrone Ausführung abgebrochen. In S12 muss eine Anwendung die abgebrochene Funktion aufrufen, bis sie einen anderen Wert als SQL_STILL_EXECUTING zurückgibt. Die Funktion wurde nur erfolgreich abgebrochen, wenn die Funktion SQL_ERROR und SQLSTATE HY008 (Vorgang abgebrochen) zurückgibt. Wenn ein anderer Wert zurückgegeben wird, z. B. SQL_SUCCESS, ist der Abbruchvorgang fehlgeschlagen, und die Funktion wird normal ausgeführt. |
Die Zustände S2 und S3 werden als vorbereitete Zustände bezeichnet, die Zustände S5 bis S7 als Cursorzustände, S8 bis S10 als erforderlicher Datenstatus und S11 und S12 als asynchrone Zustände. In jeder dieser Gruppen werden die Übergänge nur separat angezeigt, wenn sie für jeden Zustand in der Gruppe unterschiedlich sind. in den meisten Fällen sind die Übergänge für jeden Zustand in jeder Gruppe gleich.
Die folgenden Tabellen zeigen, wie sich jede ODBC-Funktion auf den Anweisungszustand auswirkt.
SQLAllocHandle
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
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] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV wurde.
[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DBC wurde.
[3] Diese Zeile zeigt Übergänge an, als HandleType SQL_HANDLE_STMT wurde.
[4] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DESC wurde.
[5] Der Aufruf von SQLAllocHandle mit OutputHandlePtr , der auf ein gültiges Handle verweist, überschreibt, das ohne Berücksichtigung des vorherigen Inhalts dieses Handles behandelt und probleme mit ODBC-Treibern verursachen kann. Es ist falsch, sqlAllocHandle zweimal mit derselben Anwendungsvariable aufzurufen, die für *OutputHandlePtr definiert ist, ohne SQLFreeHandle aufzurufen, um das Handle freizugeben, bevor es neu zugeordnet wird. Das Überschreiben von ODBC-Handles auf diese Weise kann zu inkonsistentem Verhalten oder Fehlern von ODBC-Treibern führen.
SQLBindCol
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect und SQLDriverConnect
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
SQLBulkOperations
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24.000 | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 o |
SQLBulkOperations (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
-- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | S1[1] S2 [nr] und [2] S3 [r]und [2] S5[3] und [5] S6([3] oder [4]) und [6] S7[4] und [7] | Siehe nächste Tabelle |
[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.
[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.
[3] SQLBulkOperations hat SQL_NEED_DATA zurückgegeben.
[4] SQLSetPos hat SQL_NEED_DATA zurückgegeben.
[5] SQLFetch, SQLFetchScroll oder SQLExtendedFetch wurden nicht aufgerufen.
[6] SQLFetch oder SQLFetchScroll wurde aufgerufen.
[7] SQLExtendedFetch wurde aufgerufen.
SQLCancel (asynchrone Zustände)
S11 Wird noch ausgeführt |
S12 Asynch abgebrochen |
---|---|
NS[1] S12[2] | S12 |
[1] Die Anweisung befand sich während der Ausführung einer Funktion vorübergehend im Zustand S11. SQLCancel wurde von einem anderen Thread aufgerufen.
[2] Die Anweisung befand sich im Zustand S11, da eine Funktion namens asynchron SQL_STILL_EXECUTING zurückgegeben hat.
SQLCloseCursor
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | 24.000 | 24.000 | 24.000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Siehe nächste Tabelle | 24.000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (Vorbereitete Zustände)
S2 Keine Ergebnisse |
S3 Ergebnisse |
---|---|
--[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier wurde SQL_DESC_COUNT.
[2] FieldIdentifier wurde nicht SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges und SQLTables
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S5 [s] S11 [x] | S1 [e] S5 [s] S11 [x] | S1 [e] und [1] S5 [s] und [1] S11 [x] und [1] 24000[2] | Siehe nächste Tabelle | HY010 | NS [c] HY010 o |
[1] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.
[2] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges und SQLTables (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24.000 | 24000[1] | 24.000 |
[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat und vom Treiber zurückgegeben wird, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.
SQLCopyDesc
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | NS [c] und [3] HY010 [o] oder [4] |
IH[2] | HY010 | Weitere Informationen finden Sie in der nächsten Tabelle. | 24.000 | -- [s] S11 x | HY010 | NS [c] und [3] HY010 [o] oder [4] |
[1] Diese Zeile zeigt Übergänge an, wenn das SourceDescHandle-Argument eine ARD, APD oder IPD war.
[2] Diese Zeile zeigt Übergänge an, wenn das Argument SourceDescHandle eine IRD war.
[3] Die Argumente SourceDescHandle und TargetDescHandle waren identisch mit denen in der asynchron ausgeführten SQLCopyDesc-Funktion .
[4] Entweder das Argument SourceDescHandle oder das Argument TargetDescHandle (oder beides) unterscheidet sich von der SQLCopyDesc-Funktion , die asynchron ausgeführt wird.
SQLCopyDesc (vorbereitete Zustände)
S2 Keine Ergebnisse |
S3 Ergebnisse |
---|---|
24000[1] | -- [s] S11 [x] |
[1] Diese Zeile zeigt Übergänge an, wenn das Argument SourceDescHandle eine IRD war.
SQLDataSources und SQLDrivers
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | Weitere Informationen finden Sie in der nächsten Tabelle. | 24.000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (Vorbereitete Zustände)
S2 Keine Ergebnisse |
S3 Ergebnisse |
---|---|
07005 | -- [s] S11 [x] |
SQLDescribeParam
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
SQLDisconnect
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] Beim Aufrufen von SQLDisconnect werden alle Anweisungen freigegeben, die der Verbindung zugeordnet sind. Darüber hinaus wird der Verbindungszustand in C2 zurückgegeben; Der Verbindungszustand muss C4 sein, bevor der Anweisungszustand S0 lautet.
SQLEndTran
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | --[2] oder [3] S1[1] | --[3] S1 [np] und ([1] oder [2]) S1 [p] und [1] S2 [p] und [2] | --[3] S1 [np] und ([1] oder [2]) S1 [p] und [1] S3 [p] und [2] | (HY010) | (HY010) |
[1] Das CompletionType-Argument ist SQL_COMMIT und SQLGetInfo gibt SQL_CB_DELETE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_DELETE für den SQL_CURSOR_ROLLBACK_BEHAVIOR Informationstyp zurück.
[2] Das CompletionType-Argument ist SQL_COMMIT und SQLGetInfo gibt SQL_CB_CLOSE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_CLOSE für den SQL_CURSOR_ROLLBACK_BEHAVIOR-Informationstyp zurück.
[3] Das CompletionType-Argument ist SQL_COMMIT, und SQLGetInfo gibt SQL_CB_PRESERVE für den SQL_CURSOR_COMMIT_BEHAVIOR Informationstyp zurück, oder das CompletionType-Argument ist SQL_ROLLBACK, und SQLGetInfo gibt SQL_CB_PRESERVE für den SQL_CURSOR_ROLLBACK_BEHAVIOR Informationstyp zurück.
SQLExecDirect
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S4 [s] und [nr] S5 [s] und [r] S8 [d] S11 [x] | -- [e] und [1] S1 [e] und [2] S4 [s] und [nr] S5 [s] und [r] S8 [d] S11 [x] | -- [e], [1] und [3] S1 [e], [2] und [3] S4 [s], [nr] und [3] S5 [s], [r] und [3] S8 [d] und [3] S11 [x] und [3] 24000 [4] | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 [o] |
[1] Der Fehler wurde vom Treiber-Manager zurückgegeben.
[2] Der Fehler wurde vom Treiber-Manager nicht zurückgegeben.
[3] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.
[4] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.
SQLExecDirect (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24.000 | 24000 [1] | 24.000 |
[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat, und wird vom Treiber zurückgegeben, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.
SQLExecute
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | Weitere Informationen finden Sie in der nächsten Tabelle. | S2 [e], p und [1] S4 [s], [p], [nr] und [1] S5 [s], [p], [r] und [1] S8 [d], [p] und [1] S11 [x], [p] und [1] 24000 [p] und [2] HY010 [np] | Cursorstatustabelle anzeigen | HY010 | NS [c] HY010 [o] |
[1] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.
[2] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.
SQLExecute (vorbereitete Zustände)
S2 Keine Ergebnisse |
S3 Ergebnisse |
---|---|
S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] Dieser Fehler wird vom Treiber-Manager zurückgegeben, wenn SQLFetch oder SQLFetchScroll nicht SQL_NO_DATA zurückgegeben hat, und wird vom Treiber zurückgegeben, wenn SQLFetch oder SQLFetchScroll SQL_NO_DATA zurückgegeben hat.
SQLExtendedFetch
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | S1010 | S1010 | 24.000 | Weitere Informationen finden Sie in der nächsten Tabelle. | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S7 [s] oder [nf] S11 [x] | S1010 | -- [s] oder [nf] S11 [x] |
SQLFetch und SQLFetchScroll
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24.000 | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 [o] |
SQLFetch und SQLFetchScroll (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
S6 [s] oder [nf] S11 [x] | -- [s] oder [nf] S11 [x] | HY010 |
SQLFreeHandle
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
-- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
-- [3] | -- | -- | -- | -- | -- | -- |
[1] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV oder SQL_HANDLE_DBC wurde.
[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_STMT wurde.
[3] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_DESC wurde und der Deskriptor explizit zugeordnet wurde.
'SQLFreeStmt'
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Diese Zeile zeigt Übergänge an, als Option SQL_CLOSE wurde.
[2] Diese Zeile zeigt Übergänge an, als Option SQL_UNBIND oder SQL_RESET_PARAMS wurde. Wenn das Argument Option SQL_DROP wurde und der zugrunde liegende Treiber ein ODBC 3*.x*-Treiber ist, ordnet der Treiber-Manager dies einem Aufruf von SQLFreeHandle zu, wobei HandleType auf SQL_HANDLE_STMT festgelegt ist. Weitere Informationen finden Sie in der Übergangstabelle für SQLFreeHandle.
SQLGetConnectAttr
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24.000 | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 [o] |
SQLGetData (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24.000 | -- [s] or [nf] S11 [x] 24000 [b] HY109 [i] | -- [s] or [nf] S11 [x] 24000 [b] HY109 [i] |
SQLGetDescField und SQLGetDescRec
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- [1] oder [2] HY010 [3] | Weitere Informationen finden Sie in der nächsten Tabelle. | -- [1] oder [2] 24000 [3] | -- [1], [2] oder [3] S11 [3] und [x] | HY010 | NS [c] oder [4] HY010 [o] und [5] |
[1] Das DescriptorHandle-Argument war eine APD oder ARD.
[2] Das DescriptorHandle-Argument war eine IPD.
[3] Das DescriptorHandle-Argument war eine IRD.
[4] Das Argument DescriptorHandle war identisch mit dem DescriptorHandle-Argument in der Funktion SQLGetDescField oder SQLGetDescRec , die asynchron ausgeführt wird.
[5] Das Argument DescriptorHandle unterscheidet sich vom Argument DescriptorHandle in der Funktion SQLGetDescField oder SQLGetDescRec , die asynchron ausgeführt wird.
SQLGetDescField und SQLGetDescRec (vorbereitete Zustände)
S2 Keine Ergebnisse |
S3 Ergebnisse |
---|---|
--[1], [2] oder [3] S11[2] und [x] | --[1], [2] oder [3] S11 [x] |
[1] Das DescriptorHandle-Argument war eine APD oder ARD.
[2] Das DescriptorHandle-Argument war eine IPD.
[3] Das DescriptorHandle-Argument war eine IRD. Beachten Sie, dass diese Funktionen immer SQL_NO_DATA im Zustand S2 zurückgeben, wenn DescriptorHandle eine IRD war.
SQLGetDiagField und SQLGetDiagRec
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | -- | -- | -- |
IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_ENV, SQL_HANDLE_DBC oder SQL_HANDLE_DESC wurde.
[2] Diese Zeile zeigt Übergänge an, wenn HandleType SQL_HANDLE_STMT wurde.
[3] SQLGetDiagField gibt immer einen Fehler in diesem Zustand zurück, wenn DiagIdentifier SQL_DIAG_ROW_COUNT ist.
SQLGetEnvAttr
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
'SQLGetStmtAttr'
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | Siehe nächste Tabelle | HY010 | HY010 |
[1] Das Anweisungsattribut wurde nicht SQL_ATTR_ROW_NUMBER.
[2] Das Anweisungsattribut wurde SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
--[1] 24000[2] | --[1] oder ([v] und [2]) 24000 [b] und [2] HY109 [i] und [2] | -- [i] or ([v] and [2]) 24000 [b] and [2] HY109[1] and [2] and [2] |
[1] Das Attributargument wurde nicht SQL_ATTR_ROW_NUMBER.
[2] Das Attributargument wurde SQL_ATTR_ROW_NUMBER.
SQLMoreResults
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | --[1] | --[1] | -- [s] und [2] S1 [nf], [np] und [4] S2 [nf], [p], und [4] S5 [s] und [3] S11 [x] | S1 [nf], [np], und [4] S3 [nf], [p] und [4] S4 [s] und [2] S5 [s] und [3] S11 [x] | HY010 | NS [c] HY010 [o] |
[1] Die Funktion gibt immer SQL_NO_DATA in diesem Zustand zurück.
[2] Das nächste Ergebnis ist eine Zeilenanzahl.
[3] Das nächste Ergebnis ist ein Resultset.
[4] Das aktuelle Ergebnis ist das letzte Ergebnis.
SQLNativeSql
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
-- | -- | -- | -- | -- | -- | -- |
SQLNumParams
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Weitere Informationen finden Sie in der nächsten Tabelle. | NS [c] HY010 [o] |
SQLParamData (Datenstatus erforderlich)
S8 Daten erforderlich |
S9 Muss put |
S10 Kann put |
---|---|---|
S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S5 [e] und [4] S6 [e] und [5] S7 [e] und [3] S9 [d] S11 [x] | HY010 | S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S4 [s], [nr] und ([1] oder [2]) S5 [s], [r] und ([2]) 1] oder [2]) S5 ([s] oder [e]) und [4] S6 ([s] oder [e]) und [5] S7 ([s] oder [e]) und [3] S9 [d] S11 [x] |
[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.
[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.
[3] SQLSetPos wurde vom Status S7 aufgerufen und SQL_NEED_DATA zurückgegeben.
[4] SQLBulkOperations wurde vom Status S5 aufgerufen und SQL_NEED_DATA zurückgegeben.
[5] SQLSetPos oder SQLBulkOperations wurden vom Status S6 aufgerufen und SQL_NEED_DATA zurückgegeben.
SQLPrepare
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | S2 [s] und [nr] S3 [s] und [r] S11 [x] | -- [s] oder ([e] und [1]) S1 [e] und [2] S11 [x] | S1 [e] und [3] S2 [s], [nr] und [3] S3 [s], [r] und [3] S11 [x] und [3] 24000[4] | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 [o] |
[1] Die Vorbereitung schlägt aus einem anderen Grund als der Validierung der Anweisung fehl (SQLSTATE war HY009 [Ungültiger Argumentwert] oder HY090 [Ungültige Zeichenfolge oder Pufferlänge]).
[2] Die Vorbereitung schlägt beim Überprüfen der Anweisung fehl (SQLSTATE war nicht HY009 [Ungültiger Argumentwert] oder HY090 [Ungültige Zeichenfolge oder Pufferlänge]).
[3] Das aktuelle Ergebnis ist das letzte oder einzige Ergebnis, oder es gibt keine aktuellen Ergebnisse. Weitere Informationen zu mehreren Ergebnissen finden Sie unter Mehrere Ergebnisse.
[4] Das aktuelle Ergebnis ist nicht das letzte Ergebnis.
SQLPrepare (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder SQLFetchScroll |
S7 SQLExtendedFetch |
---|---|---|
24.000 | 24.000 | 24.000 |
SQLPutData
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | HY010 | HY010 | Weitere Informationen finden Sie in der nächsten Tabelle. | NS [c] HY010 [o] |
SQLPutData (Datenstatus erforderlich)
S8 Daten erforderlich |
S9 Muss put |
S10 Kann put |
---|---|---|
HY010 | S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S5 [e] und [4] S6 [e] und [5] S7 [e] und [3] S10 [s] S11 [x] | -- [s] S1 [e] und [1] S2 [e], [nr] und [2] S3 [e], [r] und [2] S5 [e] und [4] S6 [e] und [5] S7 [e] und [3] S11 [x] HY011[6] |
[1] SQLExecDirect hat SQL_NEED_DATA zurückgegeben.
[2] SQLExecute hat SQL_NEED_DATA zurückgegeben.
[3] SQLSetPos wurde vom Status S7 aufgerufen und SQL_NEED_DATA zurückgegeben.
[4] SQLBulkOperations wurde vom Status S5 aufgerufen und SQL_NEED_DATA zurückgegeben.
[5] SQLSetPos oder SQLBulkOperations wurden vom Status S6 aufgerufen und SQL_NEED_DATA zurückgegeben.
[6] Mindestens ein Aufruf von SQLPutData für einen einzelnen Parameter wurde SQL_SUCCESS zurückgegeben, und dann wurde ein Aufruf von SQLPutData für denselben Parameter mit StrLen_or_Ind auf SQL_NULL_DATA festgelegt.
SQLRowCount
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
(IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
--[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Diese Zeile zeigt Übergänge an, wenn Attribut ein Verbindungsattribute war. Informationen zu Übergängen, wenn Attribut ein Anweisungsattribut war, finden Sie in der Anweisungsübergangstabelle für SQLSetStmtAttr.
[2] Das Attributargument wurde nicht SQL_ATTR_CURRENT_CATALOG.
[3] Das Attributargument wurde SQL_ATTR_CURRENT_CATALOG.
SQLSetCursorName
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | -- | 24.000 | 24.000 | HY010 | HY010 |
SQLSetDescField und SQLSetDescRec
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Diese Zeile zeigt Übergänge an, bei denen das DescriptorHandle-Argument eine ARD, APD, IPD oder (für SQLSetDescField) eine IRD ist, wenn das Argument FieldIdentifier SQL_DESC_ARRAY_STATUS_PTR oder SQL_DESC_ROWS_PROCESSED_PTR ist. Es ist ein Fehler, SQLSetDescField für eine IRD aufzurufen, wenn FieldIdentifier ein anderer Wert ist.
SQLSetEnvAttr
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
SQLSetPos
S0 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten erforderlich |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | HY010 | HY010 | 24.000 | Weitere Informationen finden Sie in der nächsten Tabelle. | HY010 | NS [c] HY010 [o] |
SQLSetPos (Cursorzustände)
S5 Geöffnet |
S6 SQLFetch oder 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 Nicht zugeordnet |
S1 Zugeordnet |
S2-S3 Vorbereitet |
S4 Ausgeführt |
S5-S7 Cursor |
S8-S10 Daten benötigen |
S11-S12 Async |
---|---|---|---|---|---|---|
IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] oder [1] HY011 [p] und [2] | HY010 [np] oder [1] HY011 [p] und [2] |
[1] Das Attributargument wurde nicht SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE oder SQL_ATTR_CURSOR_SENSITIVITY.
[2] Das Attributargument wurde SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE oder SQL_ATTR_CURSOR_SENSITIVITY.