SQLGetStmtOption 매핑
애플리케이션이 SQLGetStmtOption을 지원하지 않는 ODBC 3.x 드라이버에 호출하는 경우
SQLGetStmtOption(hstmt, fOption, pvParam)
는 다음과 같이 발생합니다.
fOption이 문자열을 반환하는 ODBC 정의 문 옵션을 나타내는 경우 드라이버 관리자가 호출합니다.
SQLGetStmtAttr(StatementHandle, Attribute, ValuePtr, BufferLength, NULL)
fOption이 32비트 정수 값을 반환하는 ODBC 정의 문 옵션을 나타내는 경우 드라이버 관리자가 호출합니다.
SQLGetStmtAttr(StatementHandle, Attribute, ValuePtr, 0, NULL)
fOption이 드라이버 정의 문 옵션을 나타내는 경우 드라이버 관리자가 호출합니다.
SQLGetStmtAttr(StatementHandle, Attribute, ValuePtr, BufferLength, NULL)
앞의 세 가지 경우에서 StatementHandle 인수는 hstmt의 값으로 설정되고 특성 인수는 fOption의 값으로 설정되며 ValuePtr 인수는 pvParam과 동일한 값으로 설정됩니다.
ODBC 정의 문자열 연결 옵션의 경우 드라이버 관리자는 SQLGetConnectAttr 호출에서 BufferLength 인수를 미리 정의된 최대 길이(SQL_MAX_OPTION_STRING_LENGTH)로 설정합니다. 문자열이 아닌 연결 옵션의 경우 BufferLength는 0으로 설정됩니다.
SQL_GET_BOOKMARK 문 옵션은 ODBC 3.x에서 더 이상 사용되지 않습니다. ODBC 3.x 드라이버가 SQL_GET_BOOKMARK 사용하는 ODBC 2.x 애플리케이션에서 작동하려면 SQL_GET_BOOKMARK 지원해야 합니다. ODBC 3.x 드라이버가 ODBC 2.x 애플리케이션에서 작동하려면 SQL_UB_ON SQL_USE_BOOKMARKS 설정을 지원해야 하며 고정 길이 책갈피를 노출해야 합니다. ODBC 3.x 드라이버가 고정 길이 책갈피가 아닌 가변 길이 책갈피만 지원하는 경우 ODBC 2.x 애플리케이션에서 SQL_USE_BOOKMARKS SQL_UB_ON 설정하려고 하면 SQLSTATE HYC00(선택적 기능이 구현되지 않음)을 반환해야 합니다.
ODBC 3.x 드라이버의 경우 드라이버 관리자는 더 이상 옵션이 SQL_STMT_OPT_MIN SQL_STMT_OPT_MAX 사이에 있는지 또는 SQL_CONNECT_OPT_DRVR_START보다 큰지 확인하지 않습니다. 드라이버는 이를 확인해야 합니다.