부록 D: 데이터 형식

ODBC는 SQL 데이터 형식과 C 데이터 형식의 두 가지 데이터 형식 집합을 정의합니다. SQL 데이터 형식은 데이터 원본에 저장된 데이터의 데이터 형식을 나타냅니다. C 데이터 형식은 애플리케이션 버퍼에 저장된 데이터의 데이터 형식을 나타냅니다.

SQL 데이터 형식은 SQL-92 표준에 따라 각 DBMS에서 정의됩니다. SQL-92 표준에 지정된 각 SQL 데이터 형식에 대해 ODBC는 ODBC 함수에서 인수로 전달되거나 결과 집합의 메타데이터에서 반환되는 #define 값인 형식 식별자를 정의합니다. ODBC에서 지원되지 않는 유일한 SQL-92 데이터 형식은 BIT(ODBC SQL_BIT 형식에는 다른 특성이 있음), BIT_VARYING, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE 및 NATIONAL_CHARACTER. 드라이버는 데이터 원본별 SQL 데이터 형식을 ODBC SQL 데이터 형식 식별자 및 드라이버별 SQL 데이터 형식 식별자에 매핑하는 역할을 담당합니다. SQL 데이터 형식은 구현 설명자의 SQL_DESC_CONCISE_TYPE 필드에 지정됩니다.

ODBC는 C 데이터 형식 및 해당 ODBC 형식 식별자를 정의합니다. 애플리케이션은 SQLBindCol 또는 SQLGetData 호출에서 TargetType 인수에 적절한 C 형식 식별자를 전달하여 결과 집합 데이터를 수신할 버퍼의 C 데이터 형식을 지정합니다. SQLBindParameter 호출에서 ValueType 인수에 적절한 C 형식 식별자를 전달하여 문 매개 변수를 포함하는 버퍼의 C 형식을 지정합니다. C 데이터 형식은 애플리케이션 설명자의 SQL_DESC_CONCISE_TYPE 필드에 지정됩니다.

참고 항목

드라이버별 C 데이터 형식은 없습니다.

각 SQL 데이터 형식은 ODBC C 데이터 형식에 해당합니다. 데이터 원본에서 데이터를 반환하기 전에 드라이버는 지정된 C 데이터 형식으로 변환합니다. 데이터 원본으로 데이터를 보내기 전에 드라이버는 지정된 C 데이터 형식에서 데이터를 변환합니다.

이 부록에는 다음 항목이 포함되어 있습니다.

ODBC 데이터 형식에 대한 설명은 ODBC의 데이터 형식을 참조하세요. 드라이버별 SQL 데이터 형식에 대한 자세한 내용은 드라이버 설명서를 참조하세요.