2009-06-10 5 views
0

OLEDB를 사용하여 .mdb/.accdb 파일을 연결하고 있습니다. 이 코드를 컴파일 할 때oledb가 로컬 컴퓨터에 등록되지 않았습니다.

using System.data.OLEDB; 

class dbconne 
{ 
..... 
......... 
....... 
. 
. 
. 
. 


OleDbConnection aConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb"); 

OleDbCommand aCommand = new OleDbCommand("select * from emp_test", aConnection); 

aConnection.Open(); 
.... 
.... 
. 
. 
. 
} 

나는 어떤 오류를 컴파일하지 않습니다 여기에

는 내가 지금까지 가지고있는 것입니다. 하지만 런타임 오류가 발생합니다 :

"Microsoft.Jet.OLEDB.4.0" provider is not registered on the local machine 

어떻게 해결할 수 있습니까?

답변

0

Microsoft Data Access Components이 설치되어 있는지 확인하십시오.

Jet Oledb 공급자는 적절한 공급자를 사용하여 데이터베이스에 연결하기 위해 위의 구성 요소 &이 있어야합니다.

참고로, 이것은 운영 체제의 일부 여야합니다 (추측하겠습니다).
.net 프레임 워크가 설치된 개발 기계입니까?

0

Microsoft.Jet OLEDB 4.0은 Microsoft Access 또는 Microsoft Access 런타임에 포함되어 있습니다. try installing Jet Service Pack 8 수 있지만 작동하지 않는 경우 액세스 또는 액세스 런타임 필요합니다. Jet 4.0은 Windows XP와 함께 제공됩니다.

MDAC (Microsoft Data Access Components) 버전 2.6부터는 MDAC에 더 이상 Jet 구성 요소가 포함되지 않으므로 MDAC 설치가 작동하지 않습니다.

+0

흠. 나는 그것을 몰랐다. 그러나 나는 그것이 .net 프레임 워크의 일부로 설치되어 있다고 생각합니다. 권리? – shahkalpesh

+0

아니, 나는 그렇게 생각하지 않는다. 비추천 COM 기술입니다. –

관련 문제