2013-08-08 2 views
4

이러한 구성 요소는 한 번에 여러 결과 집합 (예 : 저장된 proc)을 검색 할 수 있으며 D5를 사용하면 NextRecordSet을 사용하여 Sql 서버의 두 번째 및 후속 집합에 성공적으로 액세스 할 수 있습니다 .TAdoDataSet, TAdoStoredProc 여러 결과 집합

그러나이 만 커서 위치를 clClient로 지정하면 작동합니다. clServer를 사용하면 "여러 결과 집합을 반환하지 않음"오류가 발생합니다. 이것은 고유 한 제한 사항입니까 (예 : 클라이언트의 MDac 계층에 의해 부과됨) 또는 여러 레코드 세트가 서버 측 커서에서 성공적으로 검색 될 수 있습니까?

답변

3

서버 쪽 커서의 고유 한 제한 사항입니다. MSDN link 다음에 명시된 바와 같이 :

서버 커서는 이상의 한 레코드를 생성 문을 사용할 수 없습니다.

이 제한 사항은 다중 레코드 집합 생성에 설명 된 모든 명령문에 적용됩니다. 자세한 내용은 Generating Multiple Recordsets을 참조하십시오. 서버 커서가 가 여러 레코드를 생성하는 명령문과 함께 사용하는 경우, 응용 프로그램은 다음 오류 중 하나를 반환 할 수 있습니다

  • 하나의 SELECT 문에서 이외의가있는 저장 프로 시저에 커서를 열 수 없습니다 그것.
  • sp_cursoropen. 명령문 매개 변수는 단일 SELECT 문 또는 저장 프로 시저 일 수 있습니다.