2016-10-26 13 views
0

내 프로젝트에서 oledb 공급자와 데이터를 연결하는 동안 오류가 발생했습니다.microsoft.jet.oledb.4.0 '공급자가 로컬 컴퓨터에 등록되지 않았습니다. 64 비트

connectionString = @"Provider=Microsoft.jet.OLEDB.4.0;Data Source=" +"filepath.mdb"; 
OleDbConnection conn = new OleDbConnection(connectionString); 
       try 
       { 
        conn.Open(); 
        if (conn.State == ConnectionState.Open) 
        { 
         return "Success"; 
        } 
       } 
       catch (Exception ex) 
       { 
        return ex.Message; 
       } 

콘솔 응용 프로그램에서이 코드를 사용하면 정상적으로 작동합니다. 하지만 내 프로젝트 소스에서이 공급자가 작동하지 않습니다. 예외가 발생하면 *The 'Microsoft.jet.OLEDB.4.0' Provider is not registered in the local machine*

제 프로젝트에서 작업 중일 때 jet 엔진 대신 액세스 엔진을 변경할 때도 발생합니다.

왜 제트 공급자가 별도의 소스에서 작동하는지. 내 프로젝트 소스가 아닐까요?

도와주세요!

답변

2

Microsoft.jet.OLEDB.4.0의 64 비트 버전이 없으므로 프로젝트를 x86으로 컴파일해야합니다.

+0

모든 CPU 대신 x86을 변경했습니다. 하지만 내 dll 파일이 작동하지 않습니다. 그것은 belo 오류를 제공합니다. 잡히지 않은 System.BadImageFormatException : 파일 또는 어셈블리를로드 할 수 없습니다. 해결 방법? –

+0

여기 좀보세요 : http://stackoverflow.com/search?tab=votes&q=System.BadImageFormatException 32 비트로 dll을 다시 컴파일 할 수 있습니까? – tezzo