Wulin.com (www.vevb.com) WEB 애플리케이션을 작성하는 과정에서 우리는 매일 자주 사용하는 ACCESS, SQL SERVER 등과 같은 데이터베이스를 다루어야 하는 경우가 많습니다. 이러한 데이터베이스에 연결할 때 시스템은 종종 이와 같은 80004005 오류를 표시합니다. 이러한 다양한 오류 메시지는 매우 골치 아픈 일입니다. 네티즌들이 이러한 문제를 쉽게 해결할 수 있도록 이 기사에서는 이러한 문제를 자세히 소개하고 답변해 드리겠습니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC Microsoft Access 97 드라이버] Microsoft Jet 데이터베이스
엔진이 '(알 수 없음)' 파일을 열 수 없습니다. 이미 단독으로 열려 있습니다.
다른 사용자가 사용하거나 해당 데이터를 보려면 권한이 필요합니다.
[이유]
이 오류는 IIS가 NT에서 데이터베이스가 있는 디렉터리에 액세스하는 익명 계정(일반적으로 IUSR)을 사용할 때 발생합니다.
올바른 권한이 없습니다.
[해결책]
1. 파일 및 디렉토리의 권한을 확인하십시오. 모든 사람이 디렉토리에서 임시 파일을 생성하고 삭제할 수 있는 권한을 가지고 있는지 확인하십시오.
2. 데이터 원본 파일(DSN)이 다른 프로그램에서 사용 중인 것으로 표시되어 있는지 확인합니다. 이러한 프로그램은 일반적으로 InterDev에서 데이터베이스 연결을 열고 있는 모든 프로젝트를 닫습니다.
3. 이때 ACCESS의 테이블이 네트워크 서버에 연결되어 있는지 확인합니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC Microsoft Access 97 드라이버] '(알 수 없음)' 파일을 사용할 수 없습니다.
이미 사용 중입니다.
[이유]
ACCESS 데이터베이스에 연결하기 위해 사용 중이며 데이터베이스가 잠겨 있어 액세스할 수 없습니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC Driver Manager] 데이터 소스 이름을 찾을 수 없으며 기본값이 없습니다.
드라이버가 지정되었습니다.
[이유]
가능한 이유는 ConnectString이 global.asa에서 응용 프로그램 연결 문자열을 초기화하지만 현재 global.asa 파일이 제대로 작동하지 않기 때문입니다.
[해결책]
할당이 올바른지 확인하고 asp에 다음 코드를 추가합니다.
<%= 'auth_user'는 & request.servervariables(auth_user)%>
<피>
<%= 'auth_type'은 & request.servervariables(auth_type)%>
<피>
<%= 연결 문자열은 & session(your_connectionstring)%>입니다.
<피>
또 다른 이유는 ConnectString에 공백이 추가된다는 것입니다. 예를 들어
DSN = MyDSN; 데이터베이스 = 출판물;
다음과 같이 변경해 보세요.
DSN=MyDSN;데이터베이스=Pub;
global.asa가 실행되지 않은 경우 파일이 응용 프로그램의 루트 디렉터리에 있는지 또는 가상 디렉터리의 루트 디렉터리에 있는지 확인하십시오.
DSN 이름을 찾을 수 없어서 오류가 발생할 수도 있습니다. 이는 제가 제공한 id=36767 방법을 사용하여 해결할 수 있습니다. 마지막 단계는 최신 드라이버가 설치되어 있는지, 즉 최신 MDAC 버전인지 확인하는 것입니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC Driver Manager] 데이터 소스 이름이 ??가 아닙니다.
[이유]
이 오류는 컴퓨터에 소프트웨어를 설치(또는 제거)하는 순서대로 발생할 수 있습니다. 이 오류는 ODBC 버전이 일치하지 않는 경우 발생합니다.
[해결책]
해결 방법은 최신 버전의 MDAC를 설치하는 것입니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC Access 97 ODBC 드라이버 드라이버]일반 오류 열 수 없습니다.
레지스트리 키 'DriverId'.
[이유]
이 오류는 레지스트리에서 값을 읽을 때 발생합니다. regedit32.exe를 사용하여 레지스트리 권한을 확인하십시오.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC SQL Server 드라이버][dbnmpntw]ConnectionOpen(CreateFile()).
[이유]
한 가지 이유: 데이터베이스에 여러 컴퓨터의 권한 관계가 포함되어 있는 경우 UNC 경로가 한 관계에 설정되고 다른 관계에 로컬 경로가 설정된 경우 동일한 컴퓨터에서도 이런 일이 발생할 수 있습니다.
이유 2: 사용자가 IIS 익명 계정을 사용하여 로그인하면 로컬 컴퓨터에 대한 권한이 있지만 UNC 경로가 있는 컴퓨터의 경우 컴퓨터는 현재 익명으로 로그인한 계정이 그 안에 있다고 생각하지 않습니다. 그것도 합법적입니다. 이렇게 하면 해당 리소스에 액세스할 수 없어 오류가 발생합니다.
[해결책]
1. IIS 도구에서 IIS 익명 계정을 다른 도메인 기반 계정으로 변경합니다. (즉, 익명 로그인을 사용하지 마십시오)
2. 또는 리소스에 액세스하려는 컴퓨터에 현재 익명 계정과 동일한 계정을 만들고 동일한 비밀번호를 사용합니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005' Microsoft][ODBC
Microsoft SQL 드라이버] 로그온 실패()
[이유]
이 오류는 SQL Server가 로그인 계정을 허용하지 않거나 인식할 수 없거나 관리자로 로그인하지 않은 경우에 생성됩니다.
NT에 SQL 매핑 계정이 없기 때문에 발생할 수도 있습니다.
[해결책]
시스템 관리자 계정(SA)으로 로그인하세요. 일반 비밀번호는 비어 있어야 합니다. 이때 CoonectString을 사용해야 하며 DSN 파일은 사용할 수 없습니다. 사용자 이름과 비밀번호는 DSN에 저장되지 않기 때문입니다. NT가 계정을 SQL에 매핑했는지 확인합니다.
[오류 메시지]
ODBC 드라이버용 Microsoft OLE DB 공급자 오류 '80004005'
[Microsoft][ODBC SQL Server 드라이버][SQL Server] 로그인 실패 - 사용자: 이유:
신뢰할 수 있는 SQL Server 연결의 유효한 사용자로 정의되지 않았습니다.
[이유]
이 오류는 SQL Server가 로그인 계정을 허용하지 않거나 인식할 수 없거나 관리자로 로그인하지 않은 경우에 생성됩니다.
NT에 SQL 매핑 계정이 없기 때문에 발생할 수도 있습니다.
[해결책]
SQL Server의 엔터프라이즈 관리자에서 Server/SQL Server/Configure[ASCII
133]/보안옵션/표준. IIS4에서 실행 중인 경우 프로젝트에 대한 암호 동기화 옵션을 선택 취소합니다.
[오류 메시지]
마이크로소프트 OLE DB 제공