다음을 통해 공유


SQLBindCol

일반적으로 SQLBindCol 을 사용하여 데이터 변환을 발생시키는 의미를 고려합니다. 바인딩 변환은 클라이언트 프로세스이므로 예를 들어 문자 열에 바인딩된 부동 소수점 값을 검색하면 드라이버가 행을 가져올 때 부동 소수점 변환을 로컬로 수행합니다. Transact-SQL CONVERT 함수를 사용하여 서버에 데이터 변환 비용을 배치할 수 있습니다.

SQL Server 인스턴스는 단일 문 실행에 여러 개의 결과 행 집합을 반환할 수 있습니다. 각 결과 집합은 별도로 바인딩되어야 합니다. 여러 결과 집합에 대한 바인딩에 대한 자세한 내용은 SQLMoreResults를 참조하세요.

개발자는 TargetType 값을 SQL_C_BINARY사용하여 SQL Server 특정 C 데이터 형식에 열을 바인딩할 수 있습니다. SQL Server 특정 형식에 바인딩된 열은 이식할 수 없습니다. 정의된 SQL Server 특정 ODBC C 데이터 형식은 DB-Library에 대한 형식 정의와 일치하며, 애플리케이션을 포팅하는 개발자가 이 기능을 활용할 수 DB-Library.

데이터 잘림 보고는 SQL Server Native Client ODBC 드라이버에 비용이 많이 드는 프로세스입니다. 모든 바인딩된 데이터 버퍼가 데이터를 반환할 만큼 충분히 넓은지 확인하여 잘림을 방지할 수 있습니다. 문자 데이터의 경우 문자열 종료에 대한 기본 드라이버 동작을 사용하는 경우 너비에 문자열 종결자에 대한 공간이 포함되어야 합니다. 예를 들어 SQL Server char(5) 열을 5 자의 배열에 바인딩하면 인출된 모든 값에 대해 잘림이 발생합니다. 동일한 열을 6자의 배열에 바인딩하면 null 종결자를 저장할 문자 요소를 제공하여 잘림을 방지할 수 있습니다. SQLGetData 를 사용하여 잘림 없이 긴 문자 및 이진 데이터를 효율적으로 검색할 수 있습니다.

큰 값 데이터 형식의 경우 사용자가 제공한 버퍼가 열 SQL_SUCCESS_WITH_INFO 의 전체 값을 보유할 만큼 충분히 크지 않으면 반환되고 "문자열 데이터; 오른쪽 잘림" 경고가 발생합니다. 인수에는 StrLen_or_IndPtr 버퍼에 저장된 문자/바이트 수가 포함됩니다.

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

날짜/시간 형식의 결과 열 값은 SQL에서 C로의 변환에 설명된 대로 변환됩니다. 시간 및 datetimeoffset 열을 해당 구조(SQL_SS_TIME2_STRUCTSQL_SS_TIMESTAMPOFFSET_STRUCT)로 검색하려면 TargetType 을 지정 SQL_C_DEFAULT 하거나 SQL_C_BINARY지정해야 합니다.

자세한 내용은 날짜 및 시간 개선 사항(ODBC)을 참조하세요.

큰 CLR UDT에 대한 SQLBindCol 지원

SQLBindCol 은 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 ODBC(큰 CLR 사용자 정의 형식)를 참조하세요.

또한 참조하십시오

SQLBindCol 함수
ODBC API 구현 정보