Share via


문 전환

ODBC 문에는 다음과 같은 상태가 있습니다.

설명
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
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] 이 행은 HandleType이 SQL_HANDLE_ENV 때 전환을 표시합니다.

[2] 이 행은 HandleType이 SQL_HANDLE_DBC 때 전환을 표시합니다.

[3] 이 행은 HandleType이 SQL_HANDLE_STMT 때 전환을 표시합니다.

[4] 이 행은 HandleType이 SQL_HANDLE_DESC 때 전환을 표시합니다.

[5] OutputHandlePtr사용하여 SQLAllocHandle을 호출하면 해당 핸들에 대한 이전 내용과 관계없이 처리되는 유효한 핸들 덮어쓰기가 덮어쓰여지고 ODBC 드라이버에 문제가 발생할 수 있습니다. 다시 할당하기 전에 핸들을 해제하기 위해 SQLFreeHandle을 호출하지 않고 *OutputHandlePtr에 대해 정의된 동일한 애플리케이션 변수로 SQLAllocHandle을 두 번 호출하는 것은 잘못된 ODBC 애플리케이션 프로그래밍입니다. 이러한 방식으로 ODBC 핸들을 덮어쓰면 ODBC 드라이버에서 일관되지 않은 동작 또는 오류가 발생할 수 있습니다.

Sqlbindcol

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLBindParameter

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLBrowseConnect, SQLConnect 및 SQLDriverConnect

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
08002 08002 08002 08002 08002 08002 08002

SQLBulkOperations

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

비동기 취소됨
NS[1] S12[2] S12

[1] 함수가 실행되는 동안 문이 일시적으로 S11 상태였습니다. SQLCancel 은 다른 스레드에서 호출되었습니다.

[2] 비동기적으로 호출된 함수가 SQL_STILL_EXECUTING 반환되었기 때문에 문이 S11 상태였습니다.

SQLCloseCursor

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH 24000 24000 24000 S1 [np] S3 [p] HY010 HY010

SQLColAttribute

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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, SQLProcedures, SQLSpecialColumns, SQLStatistics, SQLTablePrivileges 및 SQLTables

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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] SourceDescHandleTargetDescHandle 인수는 비동기적으로 실행되는 SQLCopyDesc 함수와 동일합니다.

[4] SourceDescHandle 인수 또는 TargetDescHandle 인수(또는 둘 다)가 비동기적으로 실행되는 SQLCopyDesc 함수와 다릅니다.

SQLCopyDesc(준비된 상태)

S2

결과 없음
S3

결과
24000[1] -- [s] S11 [x]

[1] 이 행은 SourceDescHandle 인수가 IRD인 경우의 전환을 보여 줍니다.

SQLDataSources 및 SQLDrivers

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

SQLDescribeCol

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH HY010 다음 표 참조 24000 -- [s] S11 [x] HY010 NS [c] HY010 o

SQLDescribeCol(준비된 상태)

S2

결과 없음
S3

결과
07005 -- [s] S11 [x]

SQLDescribeParam

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH HY010 -- [s] S11 [x] HY010 HY010 HY010 NS [c] HY010 [o]

SQLDisconnect

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
--[1] S0[1] S0[1] S0[1] S0[1] (HY010) (HY010)

[1] SQLDisconnect를 호출하면 연결과 연결된 모든 문이 해제됩니다. 또한 C2에 대한 연결 상태를 반환합니다. 문 상태가 S0이 되기 전에 연결 상태는 C4여야 합니다.

SQLEndTran

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- --[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_CURSOR_COMMIT_BEHAVIOR 정보 형식에 대한 SQL_CB_DELETE 반환하거나 CompletionType 인수가 SQL_ROLLBACK SQLGetInfo는 SQL_CURSOR_ROLLBACK_BEHAVIOR 정보 형식에 대한 SQL_CB_DELETE 반환합니다.

[2] CompletionType 인수가 SQL_COMMIT SQLGetInfo 는 SQL_CURSOR_COMMIT_BEHAVIOR 정보 형식에 대한 SQL_CB_CLOSE 반환하거나 CompletionType 인수가 SQL_ROLLBACK SQLGetInfo는 SQL_CURSOR_ROLLBACK_BEHAVIOR 정보 형식에 대한 SQL_CB_CLOSE 반환합니다.

[3] CompletionType 인수가 SQL_COMMIT SQLGetInfo 는 SQL_CURSOR_COMMIT_BEHAVIOR 정보 형식에 대한 SQL_CB_PRESERVE 반환하거나 CompletionType 인수가 SQL_ROLLBACK SQLGetInfo는 SQL_CURSOR_ROLLBACK_BEHAVIOR 정보 형식에 대한 SQL_CB_PRESERVE 반환합니다.

SQLExecDirect

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- [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] 이 행은 HandleType이 SQL_HANDLE_STMT 때 전환을 표시합니다.

[3] 이 행은 HandleType이 SQL_HANDLE_DESC 설명자가 명시적으로 할당되었을 때의 전환을 보여 줍니다.

SQLFreeStmt

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH [1] -- -- S1 [np] S2 [p] S1 [np] S3 [p] HY010 HY010
IH [2] -- -- -- -- HY010 HY010

[1] 이 행은 Option이 SQL_CLOSE 때 전환을 표시합니다.

[2] 이 행은 Option이 SQL_UNBIND 또는 SQL_RESET_PARAMS 때 전환을 표시합니다. Option 인수가 SQL_DROP 기본 드라이버가 ODBC 3*.x* 드라이버인 경우 드라이버 관리자는 이를 handleType이 SQL_HANDLE_STMT 설정하여 SQLFreeHandle호출에 매핑합니다. 자세한 내용은 SQLFreeHandle에 대한 전환 테이블을 참조하세요.

SQLGetConnectAttr

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

SQLGetCursorName

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH -- -- -- -- HY010 HY010

SQLGetData

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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 인수는 비동기적으로 실행되는 SQLGetDescField 또는 SQLGetDescRec 함수의 DescriptorHandle 인수와 동일합니다.

[5] DescriptorHandle 인수가 비동기적으로 실행되는 SQLGetDescField 또는 SQLGetDescRec 함수의 DescriptorHandle 인수와 다릅니다.

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였습니다. DescriptorHandle이 IRD인 경우 이러한 함수는 항상 S2 상태에서 SQL_NO_DATA 반환합니다.

SQLGetDiagField 및 SQLGetDiagRec

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
--[1] -- -- -- -- -- --
IH[2] --[3] --[3] -- -- --[3] --[3]

[1] 이 행은 HandleType이 SQL_HANDLE_ENV, SQL_HANDLE_DBC 또는 SQL_HANDLE_DESC 전환이 표시됩니다.

[2] 이 행은 HandleType이 SQL_HANDLE_STMT 때 전환을 표시합니다.

[3] DiagIdentifier가 SQL_DIAG_ROW_COUNT 때 SQLGetDiagField는 항상 이 상태에서 오류를 반환합니다.

SQLGetEnvAttr

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

SQLGetFunctions

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

Sqlgetinfo

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

SQLGetStmtAttr

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
-- -- -- -- -- -- --

SQLNumParams

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLNumResultCols

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH HY010 -- [s] S11 [x] -- [s] S11 [x] -- [s] S11 [x] HY010 NS [c] HY010 [o]

SQLParamData

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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] S11 [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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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] SQL_SUCCESS 반환된 단일 매개 변수에 대해 SQLPutData를 하나 이상 호출한 다음 StrLen_or_Ind SQL_NULL_DATA 설정된 동일한 매개 변수에 대해 SQLPutData를 호출했습니다.

SQLRowCount

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
(IH) (HY010) (HY010) -- -- (HY010) (HY010)

SQLSetConnectAttr

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
--[1] -- -- -- --[2] 24000[3] HY010 HY010

[1] 이 행은 특성이 연결 특성일 때의 전환을 보여 줍니다. Attribute가 문 특성일 때의 전환은 SQLSetStmtAttr에 대한 문 전환 테이블을 참조하세요.

[2] 특성 인수가 SQL_ATTR_CURRENT_CATALOG 않았습니다.

[3] 특성 인수가 SQL_ATTR_CURRENT_CATALOG.

SQLSetCursorName

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH -- -- 24000 24000 HY010 HY010

SQLSetDescField 및 SQLSetDescRec

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
IH[1] -- -- -- -- HY010 HY010

[1] 이 행은 FieldIdentifier 인수가 SQL_DESC_ARRAY_STATUS_PTR 또는 SQL_DESC_ROWS_PROCESSED_PTR 때 DescriptorHandle 인수가 ARD, APD, IPD 또는 (SQLSetDescField의 경우) IRD인 전환을 보여 줍니다. FieldIdentifier가 다른 값인 경우 IRD에 대해 SQLSetDescField를 호출하는 것은 오류입니다.

SQLSetEnvAttr

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
HY011 HY011 HY011 HY011 Y011 HY01 HY011

SQLSetPos

S0

할당되지 않음
S1

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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

Allocated
S2-S3

준비된
S4

실행
S5-S7

커서
S8-S10

데이터 필요
S11-S12

Async
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.