2009-06-10 24 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でもかまいませんが、それでも動作しない場合は、AccessまたはAccess Runtimeが必要です。 Jet 4.0にはWindows XPが付属しています。

Microsoft Data Access Components(MDAC)バージョン2.6以降、MDACにはJetコンポーネントが含まれていないため、MDACのインストールは機能しません。

+0

hmmm。私はそれを知りませんでした。しかし、私はそれが.netフレームワークの一部としてインストールされていると思います。右? – shahkalpesh

+0

いいえ、私はそうは思わない。推奨されていないCOMテクノロジです。 –

関連する問題