2012-03-26 18 views
1

私は同僚のコンピュータで動作していない.netアプリケーションを持っています(彼はリモートで作業するので、問題を診断するのは難しいです)。このエラーは、Accessデータベースからデータをロードしているときに表示されます。データロードに失敗しました.net

var constring = @"Provider=Microsoft.JET.OLEDB.4.0;Data Source=X:\db.mdb"; 
OleDbConnection c = new OleDbConnection(constring); 
c.Open(); 
var dataSet = new DataSet(); 
var adapter = new OleDbDataAdapter("SELECT * FROM Table", c); 
adapter.Fill(dataSet); 
c.Close(); 

この段階でエラーが発生する可能性があるのは何ですか? Accessがインストールされていない場合、または間違ったバージョンの場合、このコードは破損しますか?このコードが壊れる原因は他に何かありますか?

編集:C:\ではなく、共有ネットワークドライブであるX:\。

+5

どのようなエラーがありますか?ブレークポイントを使用して、頭痛を与えている特定の行のすぐ下に絞り込みます。 –

+5

実際のエラーを提供するには – Quintium

+0

@ダニエル、彼の同僚は遠隔地です。それが可能であればそれは間違いなく助けになるだろうが – Simon

答えて

1

一見すると、 - 機械 には、プロバイダが存在しない - 何のソースファイルCが存在しない:\のdb.mdb - ソースファイル(データベース)(テーブル名テーブル)適切ではないん

+0

非常に古いXPシステムでない限り、そのプロバイダは存在するはずです。おそらくDBは存在しません... – gbianchi

+0

さらに、c:\ db.mdbのファイルへのアクセス権がユーザーにない可能性があります。 – Cronan

+0

Dbは存在しませんか?これは何を意味するのでしょうか?これについて詳しく教えていただけますか? – sooprise

1

もちろん、あなたが持っていないので、

VPN接続でのJetのパフォーマンスが非常に遅いという多くのケースがあります。これは、しばしば、データのタイムアウトを読み取ろうとする試みをもたらす。 で、C:\db.mdbにありますか?ネットワークドライブ上にある場合、特にテーブルにかなりの量のデータがある場合は、アダプタがデータセットを満たしているときにアダプタがタイムアウトしている可能性があります。

これが問題の原因である場合は、アプリケーションを必要に応じて必要なレコードのみを取得するように書き直すことができます。

私の会社では、私たちのオフィスに座ってリモートユーザーがAccessアプリケーションを使用するようにしています。彼らはリモートデスクトップでそのマシンにログインします。マシンがLAN上にあるため、パフォーマンスはローカルユーザーの場合と同じです。

質問に詳細を追加できる場合は、より有用なアドバイスを提供できる場合があります。

関連する問題