다음을 통해 공유


ADO 오류

ErrorValueEnum 상수는 ADO 오류 값을 설명합니다. 이러한 열거형 상수의 값을 포함한 전체 목록은 부록 B: ADO 오류를 참조하세요. 이 섹션에서는 몇 가지 더 흥미로운 오류를 검토하고 이러한 오류를 발생시킬 수 있는 몇 가지 특정 상황 또는 문제를 해결하는 방법을 설명합니다. ErrorValueEnum 상수와 짧은 양의 10진수가 모두 나열됩니다.

number ErrorValueEnum 상수 설명/가능한 원인
3000 adErrProviderFailed 공급자가 요청된 작업을 수행하지 못했습니다.
3001 adErrInvalidArgument 인수가 잘못된 형식이거나, 허용되는 범위를 벗어나거나, 서로 충돌합니다. 이 오류는 SQL SELECT 문의 입력 오류로 인해 발생하는 경우가 많습니다. 예를 들어 맞춤법이 틀린 필드 이름 또는 테이블 이름으로 인해 이 오류가 발생할 수 있습니다. 이 오류는 SELECT 문에 명명된 필드 또는 테이블이 데이터 저장소에 없는 경우에도 발생할 수 있습니다.
3002 adErrOpeningFile 파일을 열 수 없습니다. 맞춤법이 틀린 파일 이름이 지정되었거나 파일 이동, 이름 바꾸기 또는 삭제가 수행되었습니다. 네트워크를 통해 드라이브를 일시적으로 사용할 수 없거나 네트워크 트래픽으로 인해 연결이 차단될 수 있습니다.
3003 adErrReadFile 파일을 읽을 수 없습니다. 파일 이름이 잘못 지정되었거나, 파일이 이동 또는 삭제되었거나, 파일이 손상되었을 수 있습니다.
3004 adErrWriteFile 파일에 쓰지 못했습니다. 파일을 닫은 후 파일에 쓰려고 했거나 파일이 손상되었을 수 있습니다. 파일이 네트워크 드라이브에 있는 경우 일시적인 네트워크 상태로 인해 네트워크 드라이브에 쓰지 못한 것일 수 있습니다.
3021 adErrNoCurrentRecord BOF 또는 EOF가 True이거나 현재 레코드가 삭제되었습니다. 요청된 작업에는 현재 레코드가 필요합니다.

찾기 또는 검색을 사용하여 레코드 포인터를 원하는 레코드로 이동하여 레코드를 업데이트하려고 했습니다. 레코드를 찾을 수 없는 경우 EOF는 True가 됩니다. AddNew 또는 Delete 메서드가 실패할 경우 현재 레코드가 없으므로 이러한 메서드가 실패한 후 이 오류가 발생할 수도 있습니다.
3219 adErrIllegalOperation 이 컨텍스트에서 작업이 허용되지 않습니다.
3220 adErrCantChangeProvider 제공된 공급자는 이미 사용 중인 공급자와 다릅니다.
3246 adErrInTransaction 트랜잭션 중 Connection 개체를 명시적으로 닫을 수 없습니다. 현재 트랜잭션에 참여하고 있는 Recordset 또는 Connection 개체는 닫을 수 없습니다. 개체를 닫기 전에 RollbackTrans 또는 CommitTrans를 호출합니다.
3251 adErrFeatureNotAvailable 개체 또는 공급자가 요청된 작업을 수행할 수 없습니다. 일부 작업은 특정 공급자 버전에 따라 달라집니다.
3265 adErrItemNotFound 컬렉션에서 요청된 이름 또는 서수에 해당하는 항목을 찾을 수 없습니다. 잘못된 필드 또는 테이블 이름이 지정되었습니다.
3367 adErrObjectInCollection 개체가 이미 컬렉션에 있습니다. 추가할 수 없습니다. 개체를 동일한 컬렉션에 두 번 추가할 수 없습니다.
3420 adErrObjectNotSet 개체가 더 이상 유효하지 않습니다.
3421 adErrDataConversion 애플리케이션이 현재 작업에 잘못된 형식의 값을 사용합니다. 예를 들어 스트림이 필요한 작업에 문자열을 제공했을 수 있습니다.
3704 adErrObjectClosed 개체가 닫혀 있는 경우에는 작업이 허용되지 않습니다. Connection 또는 Recordset가 닫혔습니다. 예를 들어 일부 다른 루틴이 전역 개체를 닫았을 수 있습니다. 작업을 시도하기 전에 State 속성을 확인하여 이 오류를 방지할 수 있습니다.
3705 adErrObjectOpen 개체가 열려 있는 경우에는 작업이 허용되지 않습니다. 열려 있는 개체는 열 수 없습니다. 열려 있는 Recordset에 필드를 추가할 수 없습니다.
3706 adErrProviderNotFound 공급자를 찾을 수 없습니다. 제대로 설치되지 않은 것일 수 있습니다.

공급자의 이름이 잘못 지정되었거나, 코드가 실행되는 컴퓨터에 지정된 공급자가 설치되지 않았거나, 설치가 손상되었을 수 있습니다.
3707 adErrBoundToCommand Command 개체를 원본으로 사용하는 Recordset 개체의 ActiveConnection 속성을 변경할 수 없습니다. 애플리케이션에서 Command 개체를 원본으로 사용하는 Recordset에 새 Connection 개체를 할당하려고 했습니다.
3708 adErrInvalidParamInfo Parameter 개체가 잘못 정의되었습니다. 일관되지 않거나 불완전한 정보가 제공되었습니다.
3709 adErrInvalidConnection 연결을 사용하여 이 작업을 수행할 수 없습니다. 이 컨텍스트에서는 닫혀 있거나 유효하지 않습니다.
3710 adErrNotReentrant 이벤트를 처리하는 동안에는 작업을 수행할 수 없습니다. 이벤트를 다시 발생시키는 이벤트 처리기 내에서 작업을 수행할 수 없습니다. 예를 들어 WillMove 이벤트 처리기 내에서 탐색 메서드를 호출하면 안 됩니다.
3711 adErrStillExecuting 비동기적으로 실행하는 동안에는 작업을 수행할 수 없습니다.
3712 adErrOperationCancelled 사용자가 작업을 취소했습니다. 애플리케이션에서 CancelUpdate 또는 CancelBatch 메서드를 호출했으며 현재 작업이 취소되었습니다.
3713 adErrStillConnecting 비동기적으로 연결하는 동안에는 작업을 수행할 수 없습니다.
3714 adErrInvalidTransaction 트랜잭션 조정이 잘못되었거나 시작되지 않았습니다.
3715 adErrNotExecuting 실행하지 않는 동안에는 작업을 수행할 수 없습니다.
3716 adErrUnsafeOperation 이 컴퓨터의 안전 설정으로는 다른 도메인에 있는 데이터 원본에 액세스할 수 없습니다.
3717 adWrnSecurityDialog 내부 전용. 사용하지 마세요. (완전성을 위해 포함된 항목입니다. 이 오류는 코드에 표시되지 않아야 합니다.)
3718 adWrnSecurityDialogHeader 내부 전용. 사용하지 마세요. (완전성을 위해 포함된 항목입니다. 이 오류는 코드에 표시되지 않아야 합니다.)
3719 adErrIntegrityViolation 데이터 값이 필드의 무결성 제약 조건과 충돌합니다. 필드의 새 값으로 인해 중복 키가 발생합니다. 두 레코드 간 관계의 한쪽을 형성하는 값은 업데이트할 수 없습니다.
3720 adErrPermissionDenied 권한이 부족하여 필드에 쓸 수 없습니다. 연결 문자열에 명명된 사용자에게 필드에 쓸 수 있는 적절한 권한이 없습니다.
3721 adErrDataOverflow 데이터 값이 너무 커서 필드 데이터 형식으로 나타낼 수 없습니다. 대상 필드에 비해 너무 큰 숫자 값이 할당되었습니다. 예를 들어 짧은 정수 필드에 긴 정수 값이 할당되었습니다.
3722 adErrSchemaViolation 데이터 값이 필드의 데이터 형식 또는 제약 조건과 충돌합니다. 데이터 저장소에 필드 값과 다른 유효성 검사 제약 조건이 있습니다.
3723 adErrSignMismatch 데이터 값은 부호가 있고 공급자가 사용한 필드 데이터 형식은 부호가 없기 때문에 변환에 실패했습니다.
3724 adErrCantConvertvalue 부호 불일치 또는 데이터 오버플로가 아닌 다른 이유로 인해 데이터 값을 변환할 수 없습니다. 예를 들어 변환 시 데이터가 잘렸습니다.
3725 adErrCantCreate 필드 데이터 형식을 알 수 없거나 공급자가 작업을 수행할 리소스가 부족하여 데이터 값을 설정하거나 검색할 수 없습니다.
3726 adErrColumnNotOnThisRow 레코드에 이 필드가 없습니다. 잘못된 필드 이름을 지정했거나 현재 레코드의 Fields 컬렉션에 없는 필드를 참조했습니다.
3727 adErrURLDoesNotExist 원본 URL 또는 대상 URL의 부모가 없습니다. 원본 또는 대상 URL에 철자 오류가 있습니다. 실제로 https://mysite/photos/myphoto.jpg가 있어야 하는데 https://mysite/photo/myphoto.jpg가 있는 것일 수 있습니다. 부모 URL의 철자 오류(이 경우 photos 대신 photo)로 인해 오류가 발생했습니다.
3728 adErrTreePermissionDenied 트리 또는 하위 트리에 액세스하기에 권한이 충분하지 않습니다. 연결 문자열에 명명된 사용자에게 적절한 권한이 없습니다.
3729 adErrInvalidURL URL에 잘못된 문자가 들어 있습니다. URL이 올바르게 입력되었는지 확인하세요. URL은 현재 공급자에 등록된 체계를 따릅니다(예: 인터넷 게시 공급자가 http에 등록됨).
3730 adErrResourceLocked 하나 이상의 프로세스가 지정된 URL이 나타내는 개체를 잠갔습니다. 프로세스가 완료될 때까지 기다렸다가 작업을 다시 시도하세요. 액세스하려는 개체가 애플리케이션의 다른 사용자 또는 다른 프로세스에 의해 잠겼습니다. 이는 다중 사용자 환경에서 발생할 가능성이 가장 높습니다.
3731 adErrResourceExists 복사 작업을 수행할 수 없습니다. 대상 URL로 명명된 개체가 이미 있습니다. adCopyOverwrite를 지정하여 개체를 대체하세요. 디렉터리에서 파일을 복사할 때 adCopyOverwrite를 지정하지 않으면 대상 위치에 이미 있는 항목을 복사하려고 할 때 복사가 실패합니다.
3732 adErrCannotComplete 서버에서 작업을 완료할 수 없습니다. 서버가 다른 작업을 수행하는 중이거나 리소스가 부족하기 때문일 수 있습니다.
3733 adErrVolumeNotFound 공급자가 URL로 표시된 스토리지 디바이스를 찾을 수 없습니다. URL이 올바르게 입력되었는지 확인하세요. 스토리지 디바이스의 URL이 올바르지 않을 수 있습니다. 하지만 다른 이유로 인해 이 오류가 발생할 수 있습니다. 디바이스가 오프라인 상태이거나 많은 양의 네트워크 트래픽으로 인해 연결이 차단될 수 있습니다.
3734 adErrOutOfSpace 작업을 수행할 수 없습니다. 공급자가 충분한 스토리지 공간을 얻을 수 없습니다. 서버의 임시 파일을 위한 RAM 또는 하드 드라이브 공간이 충분하지 않을 수 있습니다.
3735 adErrResourceOutOfScope 원본 또는 대상 URL이 현재 레코드의 범위를 벗어났습니다.
3736 adErrUnavailable 작업을 완료하지 못했고 상태를 사용할 수 없습니다. 필드를 사용할 수 없거나 작업을 시도하지 않았습니다. 액세스하려는 필드를 다른 사용자가 변경하거나 삭제했을 수 있습니다.
3737 adErrURLNamedRowDoesNotExist 이 URL로 명명된 레코드가 없습니다. Record 개체를 사용하여 파일을 열려고 할 때 파일 이름 또는 파일 경로의 맞춤법이 틀렸습니다.
3738 adErrDelResOutOfScope 삭제할 개체의 URL이 현재 레코드의 범위를 벗어났습니다.
3747 adErrCatalogNotSet 작업에 유효한 ParentCatalog가 필요합니다.
3748 adErrCantChangeConnection 연결이 거부되었습니다. 요청한 새 연결의 특성이 이미 사용 중인 연결과 다릅니다.
3749 adErrFieldsUpdateFailed 필드 업데이트에 실패했습니다. 자세한 내용은 개별 필드 개체의 Status 속성을 확인하세요. 이 오류는 데이터베이스를 변경하거나 데이터베이스에 레코드를 추가하는 과정에서 Field 개체의 값을 변경하는 경우와 Field 개체 자체의 속성을 변경하는 경우를 포함한 두 가지 상황에서 발생할 수 있습니다.

현재 레코드의 필드 중 하나에 문제가 있어 Record 또는 Recordset 업데이트에 실패했습니다. Fields 컬렉션을 열거하고 각 필드의 Status 속성을 확인하여 문제의 원인을 확인합니다.
3750 adErrDenyNotSupported 공급자가 공유 제한을 지원하지 않습니다. 파일 공유를 제한하려고 시도했으나 공급자가 이 개념을 지원하지 않습니다.
3751 adErrDenyTypeNotSupported 공급자가 요청된 종류의 공유 제한을 지원하지 않습니다. 공급자가 지원하지 않는 특정 형식의 파일 공유 제한을 설정하려고 했습니다. 지원되는 파일 공유 제한을 확인하려면 공급자의 설명서를 참조하세요.