다음을 통해 공유


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보다 큰지 확인하지 않습니다. 드라이버는 이를 확인해야 합니다.