다음을 통해 공유


SQLDescribeCol

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

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

SQL Server Native Client ODBC 드라이버는 준비되었지만 실행되지 않은 문에 대해 SQLDescribeCol이 호출될 경우 서버 오버헤드를 줄이기 위해 SET FMTONLY 문을 사용합니다. 준비된 SQL 문의 일괄 처리에서 여러 개의 결과 집합이 생성될 경우 첫 번째 결과 집합에 대해서만 열 특성이 보고됩니다.

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

향상된 날짜 및 시간 기능에 대한 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)을 참조하십시오.

참고 항목

개념

관련 자료