FIX: DELETED를 레코드를 CHAR 기본 키 사용하여 삽입 시 오류

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

이 페이지에서

현상

기본 키로 고정 길이 텍스트 필드 (CHAR)가 연결된 ODBC 테이블에 새 레코드를 삽입하는 DELETED를 모든 새 레코드의 필드에 나타납니다.

참고 다음 닫고 연결된 테이블에 새로 삽입된 레코드를 나타나며 제대로 삽입됩니다.

원인

공백 (또는 "패드") 많은 ODBC 드라이버 추가 삽입되어 있는 문자 수를 필드의 최대 길이보다 작을 때 CHAR 필드. Microsoft Jet 4.0 잘못 다시 삽입한, 패디드 값을 읽고 원래, unpadded 값을 비교합니다. 두 값을 서로 다르기 때문에 새로 삽입한 레코드를 찾을 수 없는 Microsoft Access Jet 보고합니다.

해결 방법

이 문제를 해결하려면 최신 Jet 4.0 서비스 팩을 설치하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
239114방법: Microsoft Jet 4.0 데이터베이스 엔진의 최신 서비스 팩을 구하는합니다

해결 과정

가변 길이 텍스트 필드를 (VARCHAR) 테이블의 기본 키로 사용하십시오.

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제는 Jet 4.0 서비스 팩 6 (SP6) 수정되었습니다.

추가 정보

문제를 재현하기 위한 단계

Microsoft SQL Server 또는 Oracle, DB2 데이터베이스에 연결하여 이 문제를 재현할 수 있습니다. 연결된 테이블에 적어도 60 개 이상의 레코드가 없는 경우 발생할 수 있는 문제가 진행되고 있지 않습니다.

삽입 작업 중에 찍은 ODBC 추적 살펴보면 Jet 삽입하고 레코드가 제대로, reselects 및 추적에 오류가 표시됩니다. Jet 레코드를 검색하고 reselected 키 값을 사용자가 입력한 값과 비교할 시도 후에 문제가 발생합니다.

이 문제를 재현하려면 다음과 같이 하십시오.
  1. 테스트 테이블 및 레코드 생성하려면 다음 Visual Basic 코드를 실행합니다:
    Sub GenerateTestTable()
    Dim conn As Object
    Dim i As Long, sql as String
       Set conn = CreateObject("adodb.connection")
       ' Change connection string to point to your SQL Server if needed.
       conn.Open "Provider=SQLOLEDB;Server=(Local);Database=Pubs;UID=sa;PWD=;"
       On Error Resume Next
       conn.Execute "drop table tmp_chartest"
       On Error GoTo 0
       sql = "create table tmp_chartest(f1 char(5) primary key, f2 char(10))"
       conn.Execute sql
        For i = 1 To 70
            sql = "insert into tmp_chartest (f1,f2) values ('"
            sql = sql & Format(i, "000") & "','XXXXXXXXXX')"
            conn.Execute sql
        Next i
        conn.Close
        Set conn = Nothing
    End Sub
    					
  2. Microsoft Access 2000 시작 및 이전 단계에서 만든 tmp_chartest 테이블에 연결할 수 있습니다.
  3. 새로 연결된 테이블을 열고 테이블의 레코드를 마지막 스크롤하십시오.
  4. F1 필드로 새 레코드를 추가할 071 = 및 F2 필드 XXXXXXXXXX =.
  5. 레코드를, 탭 및 모든 필드를 표시할 DELETED가 표시되어야 합니다.

속성

기술 자료: 264766 - 마지막 검토: 2014년 2월 23일 일요일 - 수정: 3.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Access 2000 서비스 팩1
  • Microsoft Access 2002 Standard Edition
키워드:?
kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbbug kbdatabase kbfix kbjet KB264766 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