BUG: "구문 오류 INTO... ADO Recordset.Update INSERT"

기술 자료 번역 기술 자료 번역
기술 자료: 189220 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

현상

AddNew 메서드를 호출하여 레코드 집합의 Update 메서드를 호출할 때 다음과 같은 오류가 반환됩니다.
Microsoft OLE DB 공급자 '80040e21' ODBC 드라이버 오류
[Microsoft][ODBC Access 97 드라이버] 구문 오류가 있어서 INSERT INTO 문을.
Microsoft Access ODBC 드라이버 version4.00.4202.00 사용하여 또는 나중에 오류 메시지입니다.
런타임 오류 '-2147467259(80004005) ':
[Microsoft][ODBC Access 드라이버]INSERT INTO 문 구문 오류가 있습니다.

원인

다음 경우에 이 오류가 발생합니다.
  • 해당 CursorType adOpenForwardOnly (0) 입니다.
  • 해당 CursorLocation adUseServer 것입니다.
  • 업데이트되는 필드는 필드 이름에 공백이 있습니다.
  • Microsoft Access ODBC 드라이버를 사용하고 있습니다.
서버 쪽, 앞으로 전용 커서를 AddNew 및 Update 메서드를 호출하는 것은 잘못된 작업입니다. ADO (ActiveX 데이터 개체) 작업을 수행하도록 INSERT 문을 생성하고 이 코드를 결함을 보완합니다. ADO INSERT 문을 생성할 때 필드 이름을 구분하는 것은 아닙니다. 따라서 공백을 포함할 필드 이름을 구문 오류를 생성합니다.

예를 들어, 유효한 INSERT 문을 다음과 같이 됩니다:
   INSERT INTO Table ([field with space]) Values(value)
				
ADO 다음 코드를 생성하는:
   INSERT INTO Table (field with space) Values(value)
				

해결 방법

여러 가지 가능한 해결 방법은 다음과 같습니다.
  • 데이터베이스의 필드 이름에 공백을 사용하지 마십시오.
  • adUseClient (3) 의 CursorLocation을 사용하십시오.
  • adOpenKeyset (1), (2), adOpenDynamic 또는 adOpenStatic (3) (0), adOpenForwardOnly의 CursorType를 사용하지 마십시오.
  • AddNew 및 Update 메서드를 사용하는 대신 필드 이름이 들어 있는 구분 기호를 직접 INSERT 문을 생성하는 작업을 수행하십시오.
  • ODBC 및 Microsoft Access ODBC 드라이버 Jet 버전 3.51 또는 4 Microsoft OLE DB 공급자 대신 Microsoft OLE DB 공급자를 사용하십시오.

현재 상태

Microsoft는 이 문서의 시작 부분에 나열한 제품에서 버그가 수 있도록 이 확인했습니다.

속성

기술 자료: 189220 - 마지막 검토: 2005년 3월 2일 수요일 - 수정: 2.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1 서비스 팩 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Microsoft Open Database Connectivity Driver for Access 3.5
  • Microsoft Open Database Connectivity Driver for Access 4.0
키워드:?
kbmt kbbug kbdatabase kbdriver kbjet KB189220 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