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