DetailPage-MSS-KB

기술 자료

기술 자료: 940569 - 마지막 검토: 2009년 8월 25일 화요일 - 수정: 2.0

사용 가능한 핫픽스 다운로드
핫픽스 보기 및 다운로드 요청하기
 
 

현상

영문자와 숫자가 조합된 PIN 코드가 설정된 Bluetooth 장치가 있다면. Microsoft SQL Server 2005 데이터베이스에서 ID 열이 있는 테이블을 만듭니다. 병합 복제를 테이블에 구성합니다. 응용 프로그램은 Microsoft ADO (ActiveX 데이터 개체) 테이블에 행을 삽입하는 데 사용합니다. 그런 다음 응용 프로그램은 삽입된 행을 검색합니다. 그러나 ID 열에 대해 잘못된 값이 반환됩니다.

응용 프로그램을 실행하는 컴퓨터에 설치된 다음 중 하나가 있는 경우 이 문제가 발생합니다.
  • Windows Server 2003
  • Windows XP
  • Microsoft 데이터 액세스 구성 2.8 (MDAC 2.8)
Microsoft SQL Server 2000 데이터베이스에서 이 문제가 발생하지 않습니다.

원인

복제 프로세스가 삽입 트리거가 있는 테이블을 만듭니다. 테이블에 데이터를 삽입할 때 @@ IDENTITY 삽입 트리거를 사용하여SCOPE_IDENTITY 함수 대신 변수. 따라서 해당 @@ IDENTITY 변수에 현재 테이블이 아닌 ID 값을 반환할 수 있습니다.

해결 방법

이 문제를 해결하려면 다음 Microsoft 기술 자료 문서에서 설명하는 핫픽스를 설치하십시오.
961451  (http://support.microsoft.com/kb/961451/ ) FIX: 클라이언트 쪽 커서를 사용하여 ActiveX 데이터 개체 사용하는 응용 프로그램 ID 열이 들어 있는 테이블에 대한 데이터 삽입 후 마지막으로 삽입한 ID 값을 쿼리할 때 잘못된 값이 나타날
참고 이전 버전에서 이 문서의 "해결 방법" 절에 설명되어 있는 핫픽스는 961451에 설명되어 있는 핫픽스에 의해 대체되었습니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

추가 정보

SCOPE_IDENTITY 함수 및 @@ IDENTITY 변수는 현재 세션에서 모든 테이블에 생성된 마지막 ID 값을 반환합니다. 그러나 SCOPE_IDENTITY 이 함수는 현재 범위 내에 삽입된 값을 반환합니다. @@ IDENTITY 변수가 특정 범위에 삽입 제한하지 않습니다.

예를 들어, 데이터베이스에 있는 Table1 및 있는 Table2 포함되어 있다고 가정하십시오. 두 테이블의 ID 열이 있습니다. 삽입 트리거는 Table1에 정의되어 있습니다. Table1에 행이 삽입될 때 트리거가 있는 Table2 행의 복사본을 삽입합니다. 이 시나리오는 다음 두 범위는 포함됩니다.
  • Table1 삽입
  • 트리거에 의해 Table2 있는 삽입
이 시나리오에서는 @@ IDENTITY Table1에 행이 삽입될 때 변수 및 SCOPE_IDENTITY 함수는 서로 다른 값을 반환합니다. @@ IDENTITY 변수는 모든 범위를 통해 현재 세션에 삽입된 마지막 ID 열 값을 반환합니다. 이 경우 @@ IDENTITY 변수에 있는 Table2 삽입된 ID 값을 반환합니다. 그러나 SCOPE_IDENTITY 함수 같은 범위에 있는 마지막 삽입된 값을 반환하기 때문에 SCOPE_IDENTITY 함수를 Table1의 삽입된 ID 값을 반환합니다. ID 열에 수행된 INSERT 문을 범위에서 발생하기 전에 함수가 호출될 경우 SCOPE_IDENTITY 함수 NULL 값을 반환합니다.

소프트웨어 업데이트 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684  (http://support.microsoft.com/kb/824684/LN/ ) Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Data Access Components 2.8
키워드: 
kbmt kbautohotfix kbwinxppresp3fix kbexpertiseinter kbwinserv2003postsp2fix kbbug kbfix kbhotfixserver kbqfe KB940569 KbMtko
기계 번역된 문서기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.