[C#] 'Microsoft.Jet.OleDb.4.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다.'
4.0 은 64비트에서 지원하지 않는다.
1. 빌드 속성을 바꿔도 된다면 프로젝트 빌드 속성에서 32비트로 바꾸면 해결된다.
2. 64 비트로 빌드해야한다면 아래 링크로 들어가 재배포 패키지를 설치한다.
https://www.microsoft.com/ko-kr/download/details.aspx?id=49318
그리고 코드에서 아래와 같이 연결 문자열을 변경한다.
기존
OleDbConnection conn = new OleDbConnection("Provider =Microsoft.Jet.OleDb.4.0;Persist Security Info=False;Jet OLEDB:Database Password=1234;Data Source=" + filePath);
변경
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;Persist Security Info=True;Jet OLEDB:Database Password=1234;Data Source=" + filePath);
[C#] Microsoft.Jet.OLEDB.4.0 '공급자가 로컬 컴퓨터에 등록되어 있지 않습니다 - 리뷰나라
32 비트 Windows 2008 서버에서 .NET 3.5로 개발 된 Windows 응용 프로그램을 만들었습니다. 64 비트 서버에 응용 프로그램을 배포하면 “Microsoft.Jet.OLEDB.4.0 ‘공급자가 로컬 컴퓨터에 등록되어 있지 않습
daplus.net
https://aspdotnet.tistory.com/1064
asp.net 의 엑셀 읽기 - ACE 12.0 과 JET 4.0 사용
기존에는 엑셀이나 csv 를 Microsoft.Jet.OLEDB.4.0 통해 읽을 수 있었습니다. 하지만 제약사항은 운영체제가 32 bit 환경에서 가능한 사항입니다. 만약에 2003, 2008 의 운영체제 64 비트 경우에는 Microsoft.Je.
aspdotnet.tistory.com