다음을 통해 공유


지연 필드

지연된 필드값은 설정될 때 사용되지 않지만 드라이버는 지연된 효과를 위해 변수의 주소를 저장합니다. 애플리케이션 매개 변수 설명자의 경우 드라이버는 SQLExecDirect 또는 SQLExecute를 호출할 때 변수의 내용을 사용합니다. 애플리케이션 행 설명자의 경우 드라이버는 페치 시 변수의 내용을 사용합니다.

지연된 필드는 다음과 같습니다.

  • 설명자 레코드의 SQL_DESC_DATA_PTR 및 SQL_DESC_INDICATOR_PTR 필드입니다.

  • 애플리케이션 설명자 레코드의 SQL_DESC_OCTET_LENGTH_PTR 필드입니다.

  • 다중 행 인출의 경우 설명자 헤더의 SQL_DESC_ARRAY_STATUS_PTR 및 SQL_DESC_ROWS_PROCESSED_PTR 필드입니다.

설명자가 할당되면 각 설명자 레코드의 지연된 필드에는 처음에 null 값이 있습니다. null 값의 의미는 다음과 같습니다.

  • SQL_DESC_ARRAY_STATUS_PTR null 값이 있는 경우 다중 행 인출이 행별 진단 정보의 이 구성 요소를 반환하지 못합니다.

  • SQL_DESC_DATA_PTR null 값이 있으면 레코드가 바인딩되지 않습니다.

  • ARD의 SQL_DESC_OCTET_LENGTH_PTR 필드에 null 값이 있으면 드라이버는 해당 열에 대한 길이 정보를 반환하지 않습니다.

  • APD의 SQL_DESC_OCTET_LENGTH_PTR 필드에 null 값이 있고 매개 변수가 문자열인 경우 드라이버는 문자열이 null로 종료되었다고 가정합니다. 출력 동적 매개 변수의 경우 이 필드의 null 값은 드라이버가 길이 정보를 반환하지 못하게 합니다. (SQL_DESC_TYPE 필드가 문자열 매개 변수를 나타내지 않으면 SQL_DESC_OCTET_LENGTH_PTR 필드는 무시됩니다.

애플리케이션은 지연된 필드에 사용되는 변수를 필드와 연결하는 시간과 드라이버가 읽거나 쓰는 시간 사이에 사용되는 변수의 할당을 취소하거나카드 해제해서는 안 됩니다.