0

以前の質問「BDE と Delphi を使用して dBase ファイルにアクセスする良い方法は何ですか?」のフォローアップとしてこれを尋ねています。

標準入力/出力を介してデータを渡す代わりに、Delphi COM サーバーを呼び出すことが提案されましたが、そのような解決策は非常に限られていることに完全に同意します。

基本的に、ADO/OLEDB を使用せずに C# から BDE を呼び出す方法が必要です。もともと私の要件は、クエリを直接実行する機能と、ある種の RecordSet オブジェクトが返されることでしたが、次のようなメソッドを使用して厳密に型指定されたインターフェイスでも問題ありません。

uint CreateCustomer(string fname, string lname, string addr, string email) uint CreateContract(...) bool DeleteContract(...)

COM サーバーを regsvr32 に登録する必要はなく、Interop と DllImport を使用して DLL メソッドを直接呼び出すことをお勧めします。後者のアプローチを使用する場合、リソースのクリーンアップと「BDE セッション」に関して特別な考慮事項はありますか?

また、例外を処理し、例外が発生した場合に BDE (またはその他の) リソースが確実に解放されるようにする適切な方法は何でしょうか?

たくさんの質問がありますが、それらを明確に提示する方法がよくわかりません:)

編集: BDE が「死んでいる」ことは十分承知していますが、まだ BDE を使用しているサードパーティ ソフトウェアを制御することはできません。

4

1 に答える 1

0

元の BDE の質問を見逃していたので、そこにも新しい回答を掲載しました。

基本的に: BDE をスキップして、Advantage Database Serverを試してください。

  • ほとんどの (すべてではないにしても) xBase データ ファイル タイプをサポートします。
  • そのための.NET Data Provider があります。

--jeroen

于 2010-07-24T11:23:54.253 に答える