
80004005 오류는 ADO(ActiveX Data Objects) 또는 ODBC를 사용해 Microsoft Access 데이터베이스에 연결하려고 할 때 발생하는 대표적인 문제입니다. 이 오류가 나타나면 다음과 같은 메시지를 볼 수 있습니다.
"Microsoft Jet 데이터베이스 엔진이 '(알 수 없음)' 파일을 열 수 없습니다."
80004005 오류의 주요 원인
80004005 오류는 다양한 원인으로 인해 발생할 수 있으며, 대표적인 원인은 다음과 같습니다.
- Microsoft IIS(인터넷 정보 서비스)에서 사용하는 계정(일반적으로 IUSR)에 파일 기반 데이터베이스 또는 해당 파일이 저장된 폴더에 대한 올바른 Windows NT 권한이 없는 경우
- 파일과 데이터 원본 이름(DSN)이 '단독 사용(Exclusive)' 모드로 설정되어 있는 경우
- 다른 프로세스나 사용자가 이미 Access 데이터베이스를 열어두고 있는 경우
- 네트워크 서버에 있는 Access 데이터베이스의 테이블에 연결된 로컬 Access 데이터베이스에 접근하는 경우
80004005 오류 해결 방법
1단계: 파일 및 폴더 권한 확인
먼저 파일과 폴더의 권한을 점검해야 합니다. 임시 파일을 생성하고 삭제할 수 있는 권한이 있는지 반드시 확인하세요. 임시 파일은 보통 데이터베이스와 같은 폴더에 생성되지만, WINNT 폴더 등 다른 위치에 생성될 수도 있습니다. 어떤 폴더에 올바른 권한이 없는지 확인하는 방법과 임시 파일 구성 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서 253604번(Active Server Pages에서 Microsoft Access 97 데이터베이스 연결 실패)을 참고하시기 바랍니다.
2단계: 파일 및 데이터 원본 검증
데이터베이스 파일과 데이터 원본이 정상적인 상태인지 확인하는 것도 매우 중요합니다. 파일은 손상되거나 깨지지 않도록 항상 보호되어야 하며, 만약의 사태에 대비해 정기적인 백업을 해두는 것이 좋습니다.
3단계: Visual InterDev 프로젝트 닫기
데이터베이스에 대한 데이터 연결을 포함하고 있는 다른 Visual InterDev 프로젝트가 실행 중이라면 모두 종료하는 것이 좋습니다. 다른 프로그램이 데이터베이스 파일을 점유하고 있으면 연결 충돌로 인해 오류가 발생할 수 있습니다.
4단계: 레지스트리 정리
80004005 오류의 큰 원인 중 하나는 바로 컴퓨터의 '레지스트리' 데이터베이스입니다. 레지스트리는 PC의 중요한 정보와 설정을 저장하는 대규모 데이터베이스로, Windows가 실행에 필요한 파일, 설정, 옵션을 읽을 때 지속적으로 활용됩니다. 레지스트리는 모든 Windows 시스템에서 가장 핵심적인 부분 중 하나이지만, 손상되거나 읽을 수 없는 상태가 되는 경우가 잦아 수많은 시스템 오류의 원인이 되곤 합니다. 실제로 많은 80004005 오류가 레지스트리 문제에서 비롯되며, 이를 해결하려면 신뢰할 수 있는 레지스트리 클리너를 사용하는 것이 효과적입니다.
이 단계는 RegAce System Suite를 다운로드하여 실행한 뒤, 시스템 내부의 문제를 자동으로 검사하고 정리하도록 하는 것이 가장 간편하고 확실한 방법입니다.