0

私はdBase形式のデータベースファイルに接続するプロジェクトを持っています.

PROVIDER=Microsoft.Jet.OLEDB.4.0;データ ソース=MyData.dbf;拡張プロパティ=dBASE 5.0

私は最近これを再検討する必要OleDbConnectionがあり、Office の x86 インストールがインストールされている x64 マシンでその接続文字列を使用して を作成しようとすると、例外がスローされることがわかりました。

修正の簡単なハックは、アプリケーションを強制的に x86 をターゲットにするだけで機能することを示していますが、これを整理して、接続の作成に失敗するかどうかを事前に確認して、インポートをカスタマイズできるようにしたいと考えていました。利用可能なプロバイダーに合わせたオプション。

現在のプロセッサ アーキテクチャで利用可能なデータ プロバイダを列挙することは可能ですか? (例外をキャッチすることに頼る以外に、結局のところ、フレームワーク設計ガイドラインでは、例外的な状況でのみスローする必要があり、何かが例外をスローするかどうかを確認する方法があることを示唆しています)

4

1 に答える 1

0

OleDbEnumerator クラスを使用して、利用可能なプロバイダーを見つけることができます。ポイントが何であるかわからない場合、ユーザーに空の選択肢のリストを表示することになります。利用可能な JET プロバイダーの 64 ビット バージョンはなく、代替手段もありません。プログラムを変更するように求めるユーザーからの電話は引き続き受けます。JET をサポートする限り、ビルド ターゲットを x86 に設定する必要があります。

于 2010-05-12T15:52:26.057 に答える