FIX: ADO 레코드 마샬링되지 때 필터 속성 손실된다 In-Proc

기술 자료 번역 기술 자료 번역
기술 자료: 264442 - 이 문서가 적용되는 제품 보기.
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
모두 확대 | 모두 축소

현상

Filter 속성 을 같은 Recordset 특정 확장된 속성을 같은 COM + 응용 프로그램에서 두 개의 COM 개체 사이의 연결이 끊어진된 ADO Recordset 전달할 때 손실됩니다. Microsoft Windows NT 4 Microsoft 트랜잭션 서버 (MTS) 패키지에서 유사한 구성에서 확장된 속성이 손실되지 않습니다.

원인

COM + ADO 레코드 사이에 두 개의 COM 개체를 전달할 때 프로세스 마샬링 이제 수행합니다. in-process 마샬링을 수행하는 경우, ADO Recordset 복제본 해당하는 만들고, 기존 ADO 레코드 집합 마샬링 대신 포인터를 인터페이스. Filter 속성 같은 확장된 속성 잃게가 됩니다. 확장된 속성 같은 손실을 ADO 레코드 집합, 복제본을 만들 때 또는 사용하여 연결이 끊긴된 ADO Recordset out-of-process, 전달할 수 있지만 이러한 특정 경우가 의도적으로 때 발생합니다.

해결 방법

이 문제는 Windows 2000 및 MDAC 2.5를 최신 서비스 팩이 해결되었습니다.
  • 이 문제를 해결하려면 Windows 2000용 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    260910최신 Windows 2000 서비스 팩을 구하는 방법
  • 이 문제를 해결하려면 Microsoft 데이터 액세스 구성 요소 2.5는 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    293312정보: 최신 MDAC 2.5 구하는 방법 서비스 팩
이 수정의 영어 버전은 다음 파일 특성을 가집니다 또는 나중에:
   Date         Time    Version       Size      File name    Platform
   ------------------------------------------------------------------
   05/23/2000   22:22   2.51.5629.0   327,952   Msadce.dll   x86 
   05/23/2000   22:19   2.51.5629.0   487,696   Msado15.dll  x86 
				

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제가 처음 Microsoft 데이터 액세스 구성 요소 (MDAC) 버전 2.5 서비스 팩 2, MDAC 버전 2.6 및 Microsoft Windows 2000 서비스 팩 2 수정했습니다.

추가 정보

COM + 의 ADO Recordset 같은 개체를 동일한 COM + 응용 프로그램에서 두 COM 개체 간에 전달될 때 개체 마샬링된 프로세스 것이 아니라 단지 인터페이스 포인터로 마샬링 없이 전달된. 호출자와 호출 수신자가 COM 개체를 동일한 프로세스, 스레드 및 COM 아파트 경우에도 이 COM + 에 발생합니다. COM + 두 COM 개체 간에 개체를 마샬링할 때 전달된 개체의 IMarshal 인터페이스는 쿼리합니다. IMarshal 인터페이스는 전달된 개체를 반환하는 경우 COM + 이 인터페이스를 MSHCTX_INPROC 플래그를 사용하여 IMarshal::MarshalInterface 호출하여 개체를 in-process 마샬링하는 데 사용합니다.

이 핫픽스를 적용하기 전에 연결이 끊긴된 ADO 레코드 집합에 있는 모든 확장 속성을 필터 같은 Recordset 복사할 Recordset 복제본 해당하는 만들어 in-process 마샬링 구현합니다. 따라서 COM + 의 두 COM 개체 간에 ADO Recordset 전달하는 경우 필터 같은 확장된 속성이 손실됩니다.

핫픽스를 적용한 후에 ADO 해당하는 호출 수신자에게 호출자의 원래 개체 인터페이스 포인터를 전달할 수 있는 자유 스레드된 마샬러 (FTM (, 사용하여 in-process 마샬링을 수행합니다. 있는 FTM 사용하여 ADO 수 효율적으로 COM + 내에서 ADO 레코드 집합 을 마샬링하는 및 확장된 속성을 모두 유지합니다.

adUseServer 해당 CursorLocation 속성 집합을 가진 연결된 ADO Recordset 전달하는 경우 이 Recordset COM + 응용 프로그램에서 두 COM 개체 간에 전달되는 경우 확장된 속성을 잃게 있지 않은 것을 유의하십시오.

속성

기술 자료: 264442 - 마지막 검토: 2014년 2월 13일 목요일 - 수정: 2.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ActiveX Data Objects 2.5
키워드:?
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbado260fix kbbug kbfix kbmdac250sp2fix KB264442 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com