ODBC 연결을 생성하는 것과 혼동됩니다. 두 개의 별도 odbcad32.exe 파일이 있는 것 같습니다.

ODBC 연결을 생성하는 것과 혼동됩니다. 두 개의 별도 odbcad32.exe 파일이 있는 것 같습니다.

좋아요, 이번 작업이 처음이므로 조금 혼란스럽거나 모호하더라도 양해해 주세요.

Hyper-v(6.0, 빌드 6002)가 없는 Windows Server 2008 Standard가 설치된 서버가 있습니다. 저는 이 서버에서 소규모 웹사이트를 운영하고 있으며 Microsoft Access 데이터베이스를 사용하여 웹사이트를 통해 들어오는 일부 정보를 저장하고 있습니다. 나는 ODBC 연결을 열기 위해 작성한 PHP가 랩톱의 테스트 환경에서 이 웹 사이트를 만들 때 나에게 효과적이었기 때문에 정확하다고 확신합니다.

현재 문제는 두 개의 서로 다른 odbcad32.exe가 있는 것 같은데 하나에는 .accdb 파일용 드라이버가 없고 .mdb 파일만 있는 것 같습니다. 다른 하나에는 두 가지 모두에 대한 드라이버가 있습니다.

제가 말하는 첫 번째 드라이버에는 'Driver do Microsoft Access(.mdb)'라는 제목의 드라이버가 있고, 두 번째 드라이버에는 'Microsoft Access Driver(.mdb, .accdb)'라는 제목의 드라이버가 있습니다. C:\Windows\SysWOW64\odbcad32.exe로 이동하여 첫 번째 odbcad32.exe에 액세스한 다음 필요한 드라이버가 있는 것으로 보이는 드라이버에 제어판->관리 도구->데이터 소스(ODBC)로 이동하여 시스템 DNS 탭에서 새 연결을 생성하기만 하면 됩니다.

제어판을 통해 액세스하는 항목을 변경할 때마다 변경 사항이 표시되지 않습니다. 그러나 SysWOW64에서 odbcad32.exe 파일을 사용하면 다시 나타나는 오류가 일부 변경됩니다. 제가 알아차린 가장 큰 차이점은 제어판 방법으로 ODBC 연결을 설정할 때 단순히 ODBC 연결을 찾을 수 없다는 메시지가 표시되었지만 SysWOW64 연결에서 .mdb 연결을 만들고 . accdb 파일)이라고 되어있어요

Cannot open database '(unknown)'. It may not be a database that your application recognizes, or the file may be corrupt.

SySWOW64의 odbcad32.exe 버전이 '올바른' 버전으로 인식되는 것처럼 보입니다. 이 문제를 해결할 수 있는 방법이 있나요?

최대한 자세히 설명하려고 노력했지만 혼란스럽거나 누락된 부분이 있으면 알려주시기 바랍니다.

답변1

system32의 실행 파일은 64비트 버전이고 syswow64의 복사본은 64비트 버전입니다. 각각은 실행 중인 실행 파일의 아키텍처에 따라 다양한 드라이버 세트와 함께 작동합니다.

실행하려는 버전은 드라이버를 로드해야 하는 실행 파일의 아키텍처에 따라 다릅니다.

대부분의 경우 PHP는 CGI용 32비트 프로세스로 실행되지만 환경을 다시 확인하고 적절한 드라이버가 설치되어 있는지 확인해야 합니다.

관련 정보