C#에서 엑셀을 이용한 데이터베이스 연동 시 'Microsoft.ACE.OLEDB.12.0 공급자는 로컬 컴퓨터에 등록 할 수 없습니다.' 오류가 발생하는 경우가 있습니다. 사용 중 가끔 발생한다기 보다는, 엑셀을 설치하고 처음 사용할 때에 간혹 나타나는 것을 보실 수 있을 것입니다. 해당 예외를 해결하는 방법에 대하여 알아보도록 합시다~
Microsoft.ACE.OLEDB.12.0
Microsoft => 마이크로소프트 회사 (엑셀 공급업체)
ACE => 액세스 데이터베이스입니다. Access Database Engine을 뜻하는 것으로 보입니다. 참고로 액세스는 마이크로소프트사가 공급하는 오피스에 포함된 데이터베이스 프로그램의 이름입니다.
OLEDB => Object Linking and Embedding Database를 뜻하며, 마이크로소프트사가 개발한 API입니다. 액세스와 관련한 연동 작업을 할 때에 자주 볼 수 있는 단어이니, 'OLEDB'라는 단어를 기억에 담아두시면 도움이 될 것입니다.
공급자는 로컬 컴퓨터에 등록 할 수 없습니다. 해결 방법
이 오류는 말 그대로 OLEDB 12 공급자를 등록할 수 있는 환경이 구성이 안 되어 있을 가능성이 높습니다. 현재 설치되어 있는 액세스 데이터베이스 엔진을 확인하여 재배포 패키지를 다운로드 해주세요. 다음과 같은 검색어를 비슷하게 찾은 다음에 나오는 마이크로소프트 공식 홈페이지에서 패키지 파일을 다운로드 하여 설치해 보세요.
- Microsoft Access Database Engine 2010 재배포 가능 패키지
- Microsoft Access Database Engine 2016 Redistributable
위와 같이 검색하면 찾을 수 있을 것입니다.