728x90
728x170

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);

 

참고
http://daplus.net/c-microsoft-jet-oledb-4-0-%EA%B3%B5%EA%B8%89%EC%9E%90%EA%B0%80-%EB%A1%9C%EC%BB%AC-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90-%EB%93%B1%EB%A1%9D%EB%90%98%EC%96%B4-%EC%9E%88%EC%A7%80-%EC%95%8A%EC%8A%B5/

 

[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

 

728x90
그리드형
Posted by kjun
,