동작 변경은 인터페이스 의 구문 이 동일하게 유지되지만 의미 체계 가 변경된 변경 내용입니다. 이러한 변경의 경우 ODBC 2에서 사용되는 기능입니다. x 는 ODBC 3의 동일한 기능과 다르게 동작합니다. x.
애플리케이션이 ODBC 2를 나타내는지 여부입니다. x 동작 또는 ODBC 3. x 동작은 SQL_ATTR_ODBC_VERSION 환경 특성에 의해 결정됩니다. 이 32비트 값은 ODBC 2.x 동작을 보이도록 SQL_OV_ODBC2로 설정되며, ODBC 3.x 동작을 보이도록 SQL_OV_ODBC3로 설정됩니다.
SQL_ATTR_ODBC_VERSION 환경 특성은 SQLSetEnvAttr 호출에 의해 설정됩니다. 애플리케이션에서 SQLAllocHandle 을 호출하여 환경 핸들을 할당한 후에는 SQLSetEnvAttr 를 즉시 호출하여 표시되는 동작을 설정해야 합니다. (결과적으로 할당되었지만 버전이 없는 상태에서 환경 핸들을 설명하는 새 환경 상태가 있습니다.) 자세한 내용은 부록 B: ODBC 상태 전환 테이블을 참조하세요.
애플리케이션은 SQL_ATTR_ODBC_VERSION 환경 속성을 사용하여 어떤 동작을 수행하는지를 명시하지만, 이 속성은 ODBC 2.x 또는 ODBC 3.x 드라이버와의 애플리케이션 연결에는 영향을 미치지 않습니다. ODBC 3.x 애플리케이션은 환경 속성의 설정에 상관없이 ODBC 2.x 또는 3.x 드라이버에 연결할 수 있습니다.
ODBC 3. x 애플리케이션은 SQLAllocEnv를 호출해서는 안 됩니다. 따라서 드라이버 관리자가 SQLAllocEnv에 대한 호출을 받으면 애플리케이션을 ODBC 2로 인식합니다. x 애플리케이션.
SQL_ATTR_ODBC_VERSION 특성은 ODBC 3의 세 가지 측면에 영향을 줍니다. x 드라이버의 동작:
SQLSTATEs (SQL 상태 코드)
날짜, 시간 및 타임스탬프에 대한 데이터 형식
SQLTables의 CatalogName 인수는 ODBC 3의 검색 패턴을 허용합니다. x이지만 ODBC 2에는 없습니다. x
SQL_ATTR_ODBC_VERSION 환경 특성의 설정은 SQLSetParam 또는 SQLBindParam에 영향을 주지 않습니다. SQLColAttribute 도 이 비트의 영향을 받지 않습니다. SQLColAttribute는 ODBC 버전(날짜 형식, 정밀도, 소수 자릿수 및 길이)의 영향을 받는 특성을 반환하지만, 의도한 동작은 FieldIdentifier 인수의 값에 따라 결정됩니다. FieldIdentifier가 SQL_DESC_TYPE 같으면 SQLColAttribute는 ODBC 3을 반환합니다. 날짜, 시간 및 타임스탬프에 대한 x 코드 FieldIdentifier가 SQL_COLUMN_TYPE 같으면 SQLColAttribute는 ODBC 2를 반환합니다. 날짜, 시간 및 타임스탬프에 대한 x 코드입니다.
이 섹션에는 다음 항목이 포함되어 있습니다.