다음을 통해 공유


SQLDescribeCol

실행된 문의 경우 SQL Server Native Client ODBC 드라이버는 결과 집합의 열을 설명할 때 서버에 쿼리할 필요가 없습니다. 이 경우 SQLDescribeCol을 호출하더라도 서버 왕복은 발생하지 않습니다. SQLColAttributeSQLNumResultCols와 마찬가지로 준비되었지만 실행되지 않은 문에 대해 SQLDescribeCol을 호출하면 서버 왕복이 발생합니다.

Transact-SQL 문 또는 문 일괄 처리에서 여러 결과 행 집합이 반환되는 경우 서수로 참조되는 열이 별도의 테이블에서 시작되거나 결과 집합의 완전히 다른 열을 참조할 수 있습니다. 이 경우 각 집합에 대해 SQLDescribeCol을 호출해야 합니다. 결과 집합이 변경되면 응용 프로그램에서는 행 결과를 인출하기 전에 데이터 값을 다시 바인딩해야 합니다. 여러 결과 집합 반환을 처리하는 방법은 SQLMoreResults를 참조하십시오.

준비된 SQL 문의 일괄 처리에서 여러 개의 결과 집합이 생성될 경우 첫 번째 결과 집합에 대해서만 열 특성이 보고됩니다.

큰 값 데이터 형식의 경우 DataTypePtr에서 반환되는 값은 SQL_VARCHAR, SQL_VARBINARY 또는 SQL_NVARCHAR입니다. ColumnSizePtr의 SQL_SS_LENGTH_UNLIMITED 값은 크기에 "제한 없음"을 나타냅니다.

SQL Server 2012부터 데이터베이스 엔진의 기능이 향상되어 SQLDescribeCol을 통해 예상 결과에 대한 보다 정확한 설명을 얻을 수 있습니다. 이러한 보다 정확한 결과는 이전 버전의 SQL Server에서 SQLDescribeCol이 반환한 값과 다를 수 있습니다. 자세한 내용은 메타데이터 검색을 참조하십시오.

향상된 날짜 및 시간 기능에 대한 SQLDescribeCol 지원

날짜/시간 형식에 대해 반환되는 값은 다음과 같습니다.

DataTypePtr

ColumnSizePtr

DecimalDigitsPtr

datetime

SQL_TYPE_TIMESTAMP

23

3

smalldatetime

SQL_TYPE_TIMESTAMP

16

0

date

SQL_TYPE_DATE

10

0

time

SQL_SS_TIME2

8, 10..16

0..7

datetime2

SQL_TYPE_TIMESTAMP

19, 21..27

0..7

datetimeoffset

SQL_SS_TIMESTAMPOFFSET

26, 28..34

0..7

자세한 내용은 날짜/시간 기능 향상(ODBC)을 참조하십시오.

큰 CLR UDT에 대한 SQLDescribeCol 지원

SQLDescribeCol은 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 큰 CLR 사용자 정의 형식(ODBC)을 참조하십시오.

참고 항목

개념

ODBC API 구현 정보

관련 자료

SQLDescribeCol 함수