실행된 문의 경우 SQL Server Native Client ODBC 드라이버는 결과 집합의 열을 설명하기 위해 서버를 쿼리할 필요가 없습니다. 이 경우 SQLDescribeCol 서버 왕복이 발생하지 않습니다.
SQLColAttribute와 마찬가지로 준비되었지만 실행되지 않은 문을 호출 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 | |
|---|---|---|---|
| 날짜 및 시간 | SQL_타입_타임스탬프 | 23 | 3 |
| 스몰데이트타임 | SQL_타입_타임스탬프 | 16 | 0 |
| 날짜 | SQL_TYPE_DATE | 10 | 0 |
| 시간 | SQL_SS_TIME2 | 8, 10..16 | 0..7 |
| datetime2은(는) 데이터베이스 날짜 및 시간 형식의 데이터 타입입니다. | SQL_타입_타임스탬프 | 19, 21..27 | 0..7 |
| DateTimeOffset (날짜 및 시간 오프셋) | SQL_SS_TIMESTAMPOFFSET | 26, 28..34 | 0..7 |
자세한 내용은 날짜 및 시간 개선 사항(ODBC)을 참조하세요.
큰 CLR UDT에 대한 SQLDescribeCol 지원
SQLDescribeCol 는 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 ODBC(큰 CLR 사용자 정의 형식)를 참조하세요.