최근에 Access 2007과 관련된 MS Office 2007 설치에서 심각한 문제가 발생했습니다. 이로 인해 ActiveX Data Objects 6.1을 제대로 참조할 수 없다는 오류가 발생했습니다.
문제를 해결하려고 시도하는 동안 Office 설치에 매우 유사한 두 개의 폴더가 있음을 발견했습니다.
C:\Program Files (x86)\Common Files\System\ado\
C:\Program Files \Common Files\System\ado\
두 폴더 모두 내용이 매우 유사하지만 모든 파일의 크기는 약간 다릅니다. 여기에는 많은 Access 참조 ActiveX 데이터 개체가 저장되는 곳입니다.
기본적으로 내 액세스 참조 탐색기가 해당 (x86)
폴더로 연결되고 다른 폴더는 다음과 같습니다.~ 아니다실제로 원하는 DLL 파일을 탐색하고 선택할 수 있습니다.
나는 또한 Microsoft가 64비트 버전의 Office를 게시한 적이 없다는 사실을 발견했습니다(그 정보는 의심스럽습니다). 이는 모든 파일이 폴더에 있다는 것이 타당하다는 것을 의미한다고 생각합니다 (x86)
.
거의 동일한 파일 이름(다른 크기)을 가진 두 개의 다른 폴더가 있는 이유는 무엇입니까(동일한 이름 파일의 코드가 다르다는 의미)?
이는 ActiveX Data Objects 6.1에 두 가지 버전이 있다는 의미입니까?
그렇다면 적절한 파일 버전을 참조할 수 없다는 것이 내 문제라는 뜻일까요?
추신: 마침내 설치 CD에서 복구 명령을 실행하여 버그를 수정해야 했습니다.
답변1
Microsoft는 ActiveX 데이터 구성 요소의 32비트 버전과 64비트 버전을 제공합니다. 이렇게 하면 소프트웨어 개발자는 이를 사용하는 32비트 및 64비트 프로그램을 만들 수 있습니다. 크기가 다른 이유는 32비트와 64비트 메모리 포인터의 크기가 다르기 때문입니다. (일반적으로 이는 64비트 버전이 더 크다는 것을 의미하지만 항상 그런 것은 아닙니다. 64비트 프로세서에는 더 간단한 바이너리/어셈블리 코드를 사용하여 특정 유형의 코드를 실행하도록 최적화된 기능이 많이 있기 때문입니다.)
이러한 구성 요소가 Office와 함께 설치되었다는 가정은 올바르지 않습니다. ADO는 실제로 운영 체제의 일부인 "Microsoft Data Access Components"(MDAC) 패키지의 일부입니다. 이것이 바로 버전 번호 6.1이 Windows 7용 Windows 버전 번호(6.1)와 일치하는 이유입니다.
사용 중인 Microsoft Access 버전이 해당 폴더로 연결되는 이유는 (x86)
해당 버전이 32비트 버전의 Access이므로 32비트 구성 요소만 사용할 수 있기 때문입니다. 64비트 버전의 Access(질문에 대한 귀하의 주장과 달리 실제로 존재함)가 있는 경우 디렉토리가 아닌 구성 요소만 볼 수 있습니다 (x86)
.
(Windows 복구를 실행하여 원래 문제를 해결할 수 있었다는 사실은 Windows 설치에 문제가 있었거나 설치하는 동안 Windows 업데이트가 손상되었을 수 있음을 의미합니다. 그러나 이는 전혀 관련이 없습니다. 이 두 폴더가 있어야 합니다.)