지연된 버퍼

지연된 버퍼는 함수 호출에 지정된 후 특정 시간에 값이 사용되는 버퍼입니다. 예를 들어 SQLBindParameter 는 데이터 버퍼를 SQL 문의 매개 변수와 연결하거나 바인딩 하는 데 사용됩니다. 애플리케이션은 매개 변수의 수를 지정하고 버퍼의 주소, 바이트 길이 및 형식을 전달합니다. 드라이버는 이 정보를 저장하지만 버퍼의 내용을 검사하지는 않습니다. 나중에 애플리케이션이 문을 실행하면 드라이버가 정보를 검색하고 이를 사용하여 매개 변수 데이터를 검색하고 데이터 원본으로 보냅니다. 따라서 버퍼의 데이터 입력이 지연됩니다. 지연된 버퍼는 한 함수에 지정되고 다른 함수에서 사용되므로 드라이버가 여전히 존재할 것으로 예상하는 동안 지연된 버퍼를 해제하는 것은 애플리케이션 프로그래밍 오류입니다. 자세한 내용은 이 섹션의 뒷부분에 있는 버퍼 할당 및 해제를 참조하세요.

입력 버퍼와 출력 버퍼를 모두 지연할 수 있습니다. 다음 표에는 지연된 버퍼의 사용이 요약되어 있습니다. 결과 집합 열에 바인딩된 지연된 버퍼는 SQLBindCol지정되고 SQL 문 매개 변수에 바인딩된 지연된 버퍼는 SQLBindParameter지정됩니다.

버퍼 사용 Type 다음으로 지정됨 사용 대상
입력 매개 변수에 대한 데이터 보내기 지연된 입력 SQLBindParameter SQLExecute
SQLExecDirect
결과 집합에 행을 업데이트하거나 삽입하기 위해 데이터 보내기 지연된 입력 Sqlbindcol Sqlsetpos
출력 및 입력/출력 매개 변수에 대한 데이터 반환 지연된 출력 SQLBindParameter SQLExecute
SQLExecDirect
결과 집합 데이터 반환 지연된 출력 Sqlbindcol SQLFetch
SQLFetchScroll SQLSetPos