다음을 통해 공유


SQLSetStmtOption 매핑

애플리케이션이 ODBC 3.x 드라이버를 통해 SQLSetStmtOption을 호출하는 경우

SQLSetStmtOption(StatementHandle, fOption, vParam)  

는 다음과 같이 발생합니다.

  • fOption이 문자열인 ODBC 정의 문 특성을 나타내는 경우 드라이버 관리자가 호출합니다.

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, SQL_NTS)  
    
  • fOption이 32비트 정수 값을 반환하는 ODBC 정의 문 특성을 나타내는 경우 드라이버 관리자가 호출합니다.

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, 0)  
    
  • fOption이 드라이버 정의 문 특성을 나타내는 경우 드라이버 관리자가 호출합니다.

    SQLSetStmtAttr(StatementHandle, fOption, ValuePtr, BufferLength)  
    

위의 세 가지 경우에서 StatementHandle 인수는 hstmt값으로 설정되고 특성인수는 fOption값으로 설정되며 ValuePtr 인수는 vParam으로 값으로 설정됩니다.

드라이버 관리자는 드라이버 정의 문 특성에 문자열 또는 32비트 정수 값이 필요한지 여부를 알지 못하므로 SQLSetStmtAttrStringLength 인수에 유효한 값을 전달해야 합니다. 드라이버가 드라이버 정의 문 특성에 대한 특수 의미 체계를 정의하고 SQLSetStmtOption을 사용하여 호출해야 하는 경우 SQLSetStmtOption을 지원해야 합니다.

애플리케이션이 SQLSetStmtOption을 호출하여 ODBC 3.x 드라이버에서 드라이버 관련 문 옵션을 설정하고 옵션이 드라이버의 ODBC 2.x 버전에서 정의된 경우 ODBC 3.x 드라이버의 옵션에 대해 새 매니페스트 상수가 정의되어야 합니다. 이전 매니페스트 상수가 SQLSetStmtOption 호출에 사용되는 경우 드라이버 관리자는 StringLength 인수가 0으로 설정된 SQLSetStmtAttr을 호출합니다.

애플리케이션이 SQLSetStmtAttr을 호출하여 ODBC 3.x 드라이버에서 SQL_UB_ON SQL_ATTR_USE_BOOKMARKS 설정하면 SQL_ATTR_USE_BOOKMARKS 문 특성이 SQL_UB_FIXED 설정됩니다. SQL_UB_ON SQL_UB_FIXED 동일한 상수입니다. 드라이버 관리자는 드라이버에 SQL_UB_FIXED 전달합니다. SQL_UB_FIXED ODBC 3.x에서는 사용되지 않지만 ODBC 3.x 드라이버는 고정 길이 책갈피를 사용하는 ODBC 2.x 애플리케이션에서 작동하도록 구현해야 합니다.

ODBC 3.x 드라이버의 경우 드라이버 관리자는 더 이상 옵션이 SQL_STMT_OPT_MIN SQL_STMT_OPT_MAX 사이에 있는지 또는 SQL_CONNECT_OPT_DRVR_START보다 큰지 확인합니다.