Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Операторы ODBC имеют следующие состояния.
| State | Description |
|---|---|
| S0 | Нераспределенный оператор. (Состояние подключения должно быть C4, C5 или C6. Дополнительные сведения см. в разделе "Переходы подключений".) |
| S1 | Выделенная инструкция. |
| S2 | Подготовленная инструкция. Результирующий набор не будет создан. |
| S3 | Подготовленная инструкция. Будет создан результирующий набор (возможно, пустой). |
| S4 | Оператор выполнен и не был создан результирующий набор. |
| S5 | Выполнена инструкция, и был создан (возможно, пустой) результирующий набор. Курсор открыт и расположен перед первой строкой результирующий набор. |
| S6 | Курсор, расположенный с помощью SQLFetch или SQLFetchScroll. |
| S7 | Курсор, расположенный с помощью SQLExtendedFetch. |
| S8 | Функция нуждается в данных. SQLParamData не был вызван. |
| S9 | Функция нуждается в данных. SQLPutData не был вызван. |
| S10 | Функция нуждается в данных. Вызывается SQLPutData . |
| S11 | По-прежнему выполняется. Оператор остается в этом состоянии после асинхронного возврата функции SQL_STILL_EXECUTING. Оператор временно находится в этом состоянии, пока любая функция, принимаюющая дескриптор инструкции, выполняется. Временное проживание в штате S11 не отображается в таблицах состояний, кроме таблицы состояний для SQLCancel. Хотя оператор временно находится в состоянии S11, функция может быть отменена путем вызова SQLCancel из другого потока. |
| S12 | Асинхронное выполнение отменено. В S12 приложение должно вызывать отмененную функцию, пока она не возвращает значение, отличное от SQL_STILL_EXECUTING. Функция была отменена успешно, только если функция возвращает SQL_ERROR и SQLSTATE HY008 (операция отменена). Если он возвращает любое другое значение, например SQL_SUCCESS, операция отмены завершилась ошибкой и функция выполнялась нормально. |
Состояния S2 и S3 называются подготовленными состояниями, состояния S5 до S7 в качестве состояния курсора, состояния S8 до S10 в качестве состояний необходимых данных, а также состояния S11 и S12 в качестве асинхронных состояний. В каждой из этих групп переходы отображаются отдельно, только если они отличаются для каждого состояния в группе; В большинстве случаев переходы для каждого состояния в каждой группе одинаковы.
В следующих таблицах показано, как каждая функция ODBC влияет на состояние инструкции.
SQLAllocHandle
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| --[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] Эта строка показывает переходы при SQL_HANDLE_ENV HandleType .
[2] Эта строка показывает переходы при SQL_HANDLE_DBC HandleType .
[3] Эта строка показывает переходы при SQL_HANDLE_STMT HandleType .
[4] Эта строка показывает переходы при SQL_HANDLE_DESC HandleType .
[5] Вызов SQLAllocHandle с OutputHandlePtr , указывающий на допустимые перезаписи дескриптора, которые обрабатываются без учета предыдущего содержимого для этого дескриптора и могут вызвать проблемы с драйверами ODBC. Неправильное программирование приложения ODBC для вызова SQLAllocHandle дважды с той же переменной приложения, определенной для *OutputHandlePtr без вызова SQLFreeHandle, чтобы освободить дескриптор перед перераспредещением. Перезапись дескрипторов ODBC таким образом может привести к несогласованному поведению или ошибкам в части драйверов ODBC.
SQLBindCol
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBindParameter
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLBrowseConnect, SQLConnect и SQLDriverConnect
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| 08002 | 08002 | 08002 | 08002 | 08002 | 08002 | 08002 |
SQLBulkOperations
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24000 | См. следующую таблицу | HY010 | NS [c] HY010 o |
SQLBulkOperations (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| -- [s] S8 [d] S11 [x] | -- [s] S8 [d] S11 [x] | HY010 |
SQLCancel
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | S1[1] S2 [nr] и [2] S3 [r], [2] S5[3] и [5] S6([3] или [4]) и [6] S7[4] и [7] | См. следующую таблицу |
[1] SQLExecDirect вернул SQL_NEED_DATA.
[2] SQLExecute вернулся SQL_NEED_DATA.
[3] SQLBulkOperations вернулся SQL_NEED_DATA.
[4] SQLSetPos вернул SQL_NEED_DATA.
[5] SQLFetch, SQLFetchScroll или SQLExtendedFetch не были вызваны.
[6] БЫЛ вызван SQLFetch или SQLFetchScroll .
[7] SQLExtendedFetch был вызван.
SQLCancel (асинхронные состояния)
| S11 По-прежнему выполняется |
S12 Asynch отменен |
|---|---|
| NS[1] S12[2] | S12 |
[1] Оператор временно находился в состоянии S11 во время выполнения функции. SQLCancel был вызван из другого потока.
[2] Оператор находился в состоянии S11, так как функция, называемая асинхронно возвращенной SQL_STILL_EXECUTING.
SQLCloseCursor
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | 24000 | 24000 | 24000 | S1 [np] S3 [p] | HY010 | HY010 |
SQLColAttribute
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | См. следующую таблицу | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLColAttribute (подготовленные состояния)
| S2 Нет результатов |
S3 Результаты |
|---|---|
| --[1] 07005[2] | -- [s] S11 x |
[1] FieldIdentifier был SQL_DESC_COUNT.
[2] FieldIdentifier не был SQL_DESC_COUNT.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedureColumns, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges и SQLTable
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | S5 [s] S11 [x] | S1 [e] S5 [s] S11 [x] | S1 [e] и [1] S5 [s] и [1] S11 [x] и [1] 24000[2] | См. следующую таблицу | HY010 | NS [c] HY010 o |
[1] Текущий результат является последним или единственным результатом, или нет текущих результатов. Дополнительные сведения о нескольких результатах см. в разделе "Несколько результатов".
[2] Текущий результат не является последним результатом.
SQLColumnPrivileges, SQLColumns, SQLForeignKeys, SQLGetTypeInfo, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges и SQLTableS (состояния курсоров)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 | 24000[1] | 24000 |
[1] Эта ошибка возвращается диспетчером драйверов, если SQLFetch или SQLFetchScroll не вернул SQL_NO_DATA и возвращается драйвером, если SQLFetch или SQLFetchScroll вернул SQL_NO_DATA.
SQLCopyDesc
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH[1] | -- | -- | -- | -- | HY010 | NS [c] и [3] HY010 [o] или [4] |
| IH[2] | HY010 | См. следующую таблицу | 24000 | -- [s] S11 x | HY010 | NS [c] и [3] HY010 [o] или [4] |
[1] Эта строка показывает переходы, когда аргумент SourceDescHandle был ARD, APD или IPD.
[2] Эта строка показывает переходы, когда аргумент SourceDescHandle был IRD.
[3] Аргументы SourceDescHandle и TargetDescHandle были одинаковыми, как и в функции SQLCopyDesc, которая выполняется асинхронно.
[4] Аргумент SourceDescHandle или аргумент TargetDescHandle (или оба) отличались от функции SQLCopyDesc, которая выполняется асинхронно.
SQLCopyDesc (подготовленные состояния)
| S2 Нет результатов |
S3 Результаты |
|---|---|
| 24000[1] | -- [s] S11 [x] |
[1] Эта строка показывает переходы, когда аргумент SourceDescHandle был IRD.
SQLDataSources и SQLDrivers
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLDescribeCol
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | См. следующую таблицу | 24000 | -- [s] S11 [x] | HY010 | NS [c] HY010 o |
SQLDescribeCol (подготовленные состояния)
| S2 Нет результатов |
S3 Результаты |
|---|---|
| 07005 | -- [s] S11 [x] |
SQLDescribeParam
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | HY010 | HY010 | HY010 | NS [c] HY010 [o] |
SQLDisconnect
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| --[1] | S0[1] | S0[1] | S0[1] | S0[1] | (HY010) | (HY010) |
[1] Вызов SQLDisconnect освобождает все инструкции, связанные с подключением. Кроме того, это возвращает состояние подключения к C2; Состояние подключения должно быть C4, прежде чем состояние оператора — S0.
SQLEndTran
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | --[2] или [3] S1[1] | --[3] S1 [np] и ([1] или [2]) S1 [p] и [1] S2 [p] и [2] | --[3] S1 [np] и ([1] или [2]) S1 [p] и [1] S3 [p] и [2] | (HY010) | (HY010) |
[1] Аргумент CompletionType имеет значение SQL_COMMIT, а SQLGetInfo возвращает SQL_CB_DELETE для типа сведений SQL_CURSOR_COMMIT_BEHAVIOR, или аргумент CompletionType SQL_ROLLBACK, а SQLGetInfo возвращает SQL_CB_DELETE для типа сведений SQL_CURSOR_ROLLBACK_BEHAVIOR.
[2] Аргумент CompletionType имеет значение SQL_COMMIT, а SQLGetInfo возвращает SQL_CB_CLOSE для типа сведений SQL_CURSOR_COMMIT_BEHAVIOR, или аргумент CompletionType SQL_ROLLBACK, а SQLGetInfo возвращает SQL_CB_CLOSE для типа сведений SQL_CURSOR_ROLLBACK_BEHAVIOR.
[3] Аргумент CompletionType имеет значение SQL_COMMIT, а SQLGetInfo возвращает SQL_CB_PRESERVE для типа сведений SQL_CURSOR_COMMIT_BEHAVIOR, или аргумент CompletionType SQL_ROLLBACK, а SQLGetInfo возвращает SQL_CB_PRESERVE для типа сведений SQL_CURSOR_ROLLBACK_BEHAVIOR.
SQLExecDirect
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | S4 [s] и [nr] S5 [s] и [r] S8 [d] S11 [x] | -- [e] и [1] S1 [e] и [2] S4 [s] и [nr] S5 [s] и [r] S8 [d] S11 [x] | -- [e], [1], [3] S1 [e], [2], [3] S4 [s], [nr], [3] S5 [s], [r], [3] S8 [d] и [3] S11 [x] и [3] 24000 [4] | См. следующую таблицу | HY010 | NS [c] HY010 [o] |
[1] Ошибка была возвращена диспетчером драйверов.
[2] Ошибка не была возвращена диспетчером драйверов.
[3] Текущий результат является последним или единственным результатом, или нет текущих результатов. Дополнительные сведения о нескольких результатах см. в разделе "Несколько результатов".
[4] Текущий результат не является последним результатом.
SQLExecDirect (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 | 24000 [1] | 24000 |
[1] Эта ошибка возвращается диспетчером драйверов, если SQLFetch или SQLFetchScroll не вернул SQL_NO_DATA и возвращается драйвером, если SQLFetch или SQLFetchScroll вернул SQL_NO_DATA.
SQLExecute
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | (HY010) | См. следующую таблицу | S2 [e], p и [1] S4 [s], [p], [nr], и [1] S5 [s], [p], [r], и [1] S8 [d], [p], [1] S11 [x], [p], и [1] 24000 [p] и [2] HY010 [np] | См. таблицу состояний курсора | HY010 | NS [c] HY010 [o] |
[1] Текущий результат является последним или единственным результатом, или нет текущих результатов. Дополнительные сведения о нескольких результатах см. в разделе "Несколько результатов".
[2] Текущий результат не является последним результатом.
SQLExecute (подготовленные состояния)
| S2 Нет результатов |
S3 Результаты |
|---|---|
| S4 [s] S8 [d] S11 [x] | S5 [s] S8 [d] S11 [x] |
SQLExecute (состояния курсоров)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 [p] HY010 [np] | 24000 [p], [1] HY010 [np] | 24000 [p] HY010 [np] |
[1] Эта ошибка возвращается диспетчером драйверов, если SQLFetch или SQLFetchScroll не вернул SQL_NO_DATA и возвращается драйвером, если SQLFetch или SQLFetchScroll вернул SQL_NO_DATA.
Sqlextendedfetch
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | S1010 | S1010 | 24000 | См. следующую таблицу | S1010 | NS [c] S1010 [o] |
SQLExtendedFetch (состояния курсоров)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| S7 [s] или [nf] S11 [x] | S1010 | -- [s] или [nf] S11 [x] |
SQLFetch и SQLFetchScroll
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24000 | См. следующую таблицу | HY010 | NS [c] HY010 [o] |
SQLFetch и SQLFetchScroll (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| S6 [s] или [nf] S11 [x] | -- [s] или [nf] S11 [x] | HY010 |
SQLFreeHandle
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- [1] | HY010 | HY010 | HY010 | HY010 | HY010 | HY010 |
| IH [2] | S0 | S0 | S0 | S0 | HY010 | HY010 |
| -- [3] | -- | -- | -- | -- | -- | -- |
[1] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_ENV или SQL_HANDLE_DBC.
[2] Эта строка показывает переходы при SQL_HANDLE_STMT HandleType .
[3] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_DESC, а дескриптор был явно выделен.
Функция SQLFreeStmt
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH [1] | -- | -- | S1 [np] S2 [p] | S1 [np] S3 [p] | HY010 | HY010 |
| IH [2] | -- | -- | -- | -- | HY010 | HY010 |
[1] Эта строка показывает переходы, когда параметр был SQL_CLOSE.
[2] Эта строка показывает переходы, когда параметр был SQL_UNBIND или SQL_RESET_PARAMS. Если аргумент Option был SQL_DROP, а базовый драйвер — драйвер ODBC 3*.x*, диспетчер драйверов сопоставляет это с вызовом SQLFreeHandle с параметром HandleType, установленным для SQL_HANDLE_STMT. Дополнительные сведения см. в таблице перехода для SQLFreeHandle.
SQLGetConnectAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetCursorName
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | -- | -- | -- | HY010 | HY010 |
SQLGetData
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24000 | См. следующую таблицу | HY010 | NS [c] HY010 [o] |
SQLGetData (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 | -- [s] или [nf] S11 [x] 24000 [b] HY109 [i] | -- [s] или [nf] S11 [x] 24000 [b] HY109 [i] |
SQLGetDescField и SQLGetDescRec
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- [1] или [2] HY010 [3] | См. следующую таблицу | -- [1] или [2] 24000 [3] | -- [1], [2], или [3] S11 [3] и [x] | HY010 | NS [c] или [4] HY010 [o] и [5] |
[1] Аргумент DescriptorHandle был APD или ARD.
[2] Аргумент DescriptorHandle был IPD.
[3] Аргумент DescriptorHandle был IRD.
[4] Аргумент DescriptorHandle совпадает с аргументом DescriptorHandle в функции SQLGetDescField или SQLGetDescRec, которая выполняется асинхронно.
[5] Аргумент DescriptorHandle отличается от аргумента DescriptorHandle в функции SQLGetDescField или SQLGetDescRec, которая выполняется асинхронно.
SQLGetDescField и SQLGetDescRec (подготовленные состояния)
| S2 Нет результатов |
S3 Результаты |
|---|---|
| --[1], [2], или [3] S11[2] и [x] | --[1], [2], или [3] S11 [x] |
[1] Аргумент DescriptorHandle был APD или ARD.
[2] Аргумент DescriptorHandle был IPD.
[3] Аргумент DescriptorHandle был IRD. Обратите внимание, что эти функции всегда возвращают SQL_NO_DATA в состоянии S2, когда ДескрипторHandle был IRD.
SQLGetDiagField и SQLGetDiagRec
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| --[1] | -- | -- | -- | -- | -- | -- |
| IH[2] | --[3] | --[3] | -- | -- | --[3] | --[3] |
[1] Эта строка показывает переходы, когда HandleType был SQL_HANDLE_ENV, SQL_HANDLE_DBC или SQL_HANDLE_DESC.
[2] Эта строка показывает переходы при SQL_HANDLE_STMT HandleType .
[3] SQLGetDiagField всегда возвращает ошибку в этом состоянии, когда DiagIdentifier SQL_DIAG_ROW_COUNT.
SQLGetEnvAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetFunctions
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetInfo
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLGetStmtAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | --[1] 24000[2] | --[1] 24000[2] | --[1] 24000[2] | См. следующую таблицу | HY010 | HY010 |
[1] Атрибут инструкции не был SQL_ATTR_ROW_NUMBER.
[2] Атрибут инструкции был SQL_ATTR_ROW_NUMBER.
SQLGetStmtAttr (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| --[1] 24000[2] | --[1] или ([v] и [2]) 24000 [b] и [2] HY109 [i] и [2] | -- [i] или ([v] и [2]) 24000 [b] и [2] HY109[1] и [2] |
[1] Аргумент атрибута не был SQL_ATTR_ROW_NUMBER.
[2] Аргумент атрибута был SQL_ATTR_ROW_NUMBER.
SQLMoreResults
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | --[1] | --[1] | -- [s] и [2] S1 [nf], [np], и [4] S2 [nf], [p], и [4] S5 [s] и [3] S11 [x] | S1 [nf], [np], [4] S3 [nf], [p] и [4] S4 [s] и [2] S5 [s] и [3] S11 [x] | HY010 | NS [c] HY010 [o] |
[1] Функция всегда возвращает SQL_NO_DATA в этом состоянии.
[2] Следующий результат — число строк.
[3] Следующий результат — результирующий набор.
[4] Текущий результат является последним результатом.
SQLNativeSql
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| -- | -- | -- | -- | -- | -- | -- |
SQLNumParams
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLNumResultCols
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | -- [s] S11 [x] | -- [s] S11 [x] | -- [s] S11 [x] | HY010 | NS [c] HY010 [o] |
SQLParamData
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | HY010 | HY010 | См. следующую таблицу | NS [c] HY010 [o] |
SQLParamData (требуются состояния данных)
| S8 Требуются данные |
S9 Необходимо поместить |
S10 Может положить |
|---|---|---|
| S1 [e] и [1] S2 [e], [nr], и [2] S3 [e], [r], и [2] S5 [e] и [4] S6 [e] и [5] S7 [e] и [3] S9 [d] S11 [x] | HY010 | S1 [e] и [1] S2 [e], [nr], и [2] S3 [e], [r], и [2] S4 [s], [nr], и ([1] или [2]) S5 [s], [r], и ([1] или [2]) S5 ([s] или [e]) и [4] S6 ([s] или [e]) и [5] S7 ([s] или [e]) и [3] S9 [d] [d] [x] |
[1] SQLExecDirect вернул SQL_NEED_DATA.
[2] SQLExecute вернулся SQL_NEED_DATA.
[3] SQLSetPos были вызваны из состояния S7 и возвращены SQL_NEED_DATA.
[4] SQLBulkOperations был вызван из состояния S5 и возвращен SQL_NEED_DATA.
[5] SQLSetPos или SQLBulkOperations были вызваны из состояния S6 и возвращены SQL_NEED_DATA.
SQLPrepare
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | S2 [s] и [nr] S3 [s] и [r] S11 [x] | -- [s] или ([e] и [1]) S1 [e] и [2] S11 [x] | S1 [e] и [3] S2 [s], [nr], и [3] S3 [s], [r], и [3] S11 [x] и [3] 24000[4] | См. следующую таблицу | HY010 | NS [c] HY010 [o] |
[1] Подготовка завершается ошибкой, отличной от проверки инструкции (SQLSTATE было HY009 [Недопустимое значение аргумента] или HY090 [Недопустимая строка или длина буфера]).
[2] Подготовка завершается ошибкой при проверке инструкции (SQLSTATE не было HY009 [Недопустимое значение аргумента] или HY090 [Недопустимая строка или длина буфера]).
[3] Текущий результат является последним или единственным результатом, или нет текущих результатов. Дополнительные сведения о нескольких результатах см. в разделе "Несколько результатов".
[4] Текущий результат не является последним результатом.
SQLPrepare (состояния курсоров)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 | 24000 | 24000 |
SQLPutData
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | HY010 | HY010 | См. следующую таблицу | NS [c] HY010 [o] |
SQLPutData (требуются состояния данных)
| S8 Требуются данные |
S9 Необходимо поместить |
S10 Может положить |
|---|---|---|
| HY010 | S1 [e] и [1] S2 [e], [nr], и [2] S3 [e], [r], и [2] S5 [e] и [4] S6 [e] и [5] S7 [e] и [3] S10 [s] S11 [x] | -- [s] S1 [e] и [1] S2 [e], [nr], и [2] S3 [e], [r], и [2] S5 [e] и [4] S6 [e] и [5] S7 [e] и [3] S11 [x] HY011[6] |
[1] SQLExecDirect вернул SQL_NEED_DATA.
[2] SQLExecute вернулся SQL_NEED_DATA.
[3] SQLSetPos были вызваны из состояния S7 и возвращены SQL_NEED_DATA.
[4] SQLBulkOperations был вызван из состояния S5 и возвращен SQL_NEED_DATA.
[5] SQLSetPos или SQLBulkOperations были вызваны из состояния S6 и возвращены SQL_NEED_DATA.
[6] Один или несколько вызовов SQLPutData для одного параметра, возвращенного SQL_SUCCESS, а затем вызов SQLPutData был выполнен для того же параметра с StrLen_or_Ind задано значение SQL_NULL_DATA.
SQLRowCount
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| (IH) | (HY010) | (HY010) | -- | -- | (HY010) | (HY010) |
SQLSetConnectAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| --[1] | -- | -- | -- | --[2] 24000[3] | HY010 | HY010 |
[1] Эта строка показывает переходы, когда Атрибут был атрибутом подключения. Сведения о переходах, когда Атрибут был атрибутом инструкции, см. в таблице перехода инструкции для SQLSetStmtAttr.
[2] Аргумент атрибута не был SQL_ATTR_CURRENT_CATALOG.
[3] Аргумент атрибута был SQL_ATTR_CURRENT_CATALOG.
SQLSetCursorName
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | -- | 24000 | 24000 | HY010 | HY010 |
SQLSetDescField и SQLSetDescRec
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH[1] | -- | -- | -- | -- | HY010 | HY010 |
[1] Эта строка показывает переходы, в которых аргумент DescriptorHandle является аргументом ARD, APD, IPD или (для SQLSetDescField), когда аргумент FieldIdentifier SQL_DESC_ARRAY_STATUS_PTR или SQL_DESC_ROWS_PROCESSED_PTR. Это ошибка вызова SQLSetDescField для IRD, если FieldIdentifier является любым другим значением.
SQLSetEnvAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| HY011 | HY011 | HY011 | HY011 | Y011 | HY01 | HY011 |
функция SQLSetPos;
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | HY010 | HY010 | 24000 | См. следующую таблицу | HY010 | NS [c] HY010 [o] |
SQLSetPos (состояния курсора)
| S5 Прочтено |
S6 SQLFetch или SQLFetchScroll |
S7 Sqlextendedfetch |
|---|---|---|
| 24000 | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] | -- [s] S8 [d] S11 [x] 24000 [b] HY109 [i] |
SQLSetStmtAttr
| S0 Не выделено |
S1 Распределено |
S2-S3 Подготовлено |
S4 Выполнен |
S5-S7 Курсор |
S8-S10 Требуются данные |
S11-S12 Асинхронная |
|---|---|---|---|---|---|---|
| IH | -- | --[1] HY011[2] | --[1] 24000[2] | --[1] 24000[2] | HY010 [np] или [1] HY011 [p] и [2] | HY010 [np] или [1] HY011 [p] и [2] |
[1] Аргумент атрибута не был SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE или SQL_ATTR_CURSOR_SENSITIVITY.
[2] Аргумент атрибута был SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE, SQL_ATTR_SIMULATE_CURSOR, SQL_ATTR_USE_BOOKMARKS, SQL_ATTR_CURSOR_SCROLLABLE или SQL_ATTR_CURSOR_SENSITIVITY.