C#에서 오피스 파일을 열 때 ACE.OLEDB 오류 발생 해결 방법


C# 닷넷 프로그램을 개발할 때 MS Word 파일이나 Excel 파일과 같이 MS Office 파일을 열 때 사용자 컴퓨터 환경에 따라 얘기치 못한 오류가 발생할 때가 있습니다.

정상적으로 프로그램이 잘 구동되는 PC가 있는 반면 오피스 파일을 열 때 바로 오류가 발생하는 PC가 있어 개발자를 당혹스럽게 하는 경우가 생기기도 합니다.

닷넷 프로그램에서 오피스 파일을 열 때 오류가 발생하는 원인은 대부분 Microsoft Access Database Engine Redistributable이 설치되어 있지 않거나 OLEDB Provider 버전이 서로 맞지 않을 때 발생하게 됩니다.

이번 글에서는 C#에서 오피스 파일을 열 때 ACE.OLEDB 오류 발생 해결 방법에 대해서 알아보겠습니다.

Microsoft.ACE.OLEDB.12.0’ 공급자는 로컬 컴퓨터에 등록 할 수 없습니다

오류 내용 : The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine.
  Microsoft.ACE.OLEDB.12.0’ 공급자는 로컬 컴퓨터에 등록 할 수 없습니다.

▶ 위와 같은 오류가 발생할 때 해결 방법은 Microsoft Access Database Engine 2010 Redistributable 설치를 해주면 됩니다.

Microsoft.ACE.OLEDB.16.0’ 공급자는 로컬 컴퓨터에 등록 할 수 없습니다

오류 내용: The ‘Microsoft.ACE.OLEDB.16.0’ provider is not registered on the local machine.               
Microsoft.ACE.OLEDB.16.0’ 공급자는 로컬 컴퓨터에 등록 할 수 없습니다.

▶ 위와 같은 오류가 발생할 때 해결 방법은 Microsoft Access Database Engine 2016 Redistributable 설치를 해주면 됩니다.

결론

닷넷 프로그램에서 Microsoft.ACE.OLEDB를 사용하여 오피스 파일을 열 때 Microsoft Access Database Engine xxxx Redistributable이 설치되어져 있어야 합니다.

설치 파일을 다운로드 할 때 사용 컴퓨터의 플랫폼 버전에 맞게 32비트 또는 64비트의 설치 파일을 다운 받아 설치해 주면 됩니다.

▼ 아래 화면은 Microsoft Access Database Engine 재배포 가능 패키지를 다운로드 하는 페이지 화면입니다.

C#에서 오피스 파일을 열 때 ACE.OLEDB 오류 발생 해결 방법


▶ 개발한 응용프로그램을 여러 사용자가 사용할 경우 각 사용자의 PC 환경에 맞는 Microsoft Access Database Engine 재배포 가능 패키지를 설치해 주어야 합니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기