Sqlbindcol
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
일반적으로 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 인수에는 버퍼에 저장된 chars/bytes 수가 포함됩니다.
향상된 날짜 및 시간 기능에 대한 SQLBindCol 지원
날짜/시간 형식의 결과 열 값은 SQL에서 C로의 변환에 설명된 대로 변환됩니다. 시간 및 datetimeoffset 열을 해당 구조(SQL_SS_TIME2_STRUCT 및 SQL_SS_TIMESTAMPOFFSET_STRUCT)로 검색하려면 TargetType을 SQL_C_DEFAULT 또는 SQL_C_BINARY 지정해야 합니다.
자세한 내용은 날짜 및 시간 개선 사항(ODBC)을 참조하세요.
큰 CLR UDT에 대한 SQLBindCol 지원
SQLBindCol 은 큰 CLR UDT(사용자 정의 형식)를 지원합니다. 자세한 내용은 ODBC(큰 CLR 사용자 정의 형식)를 참조하세요.