1

いくつかのデータベース プラットフォームを扱う多くのユーティリティ ソフトウェアを開発しましたが、データベース接続の基本についてはまだあまり知りません。

現在、WPF アプリケーションを開発しています。私の目的は、エンド ユーザーが任意のデータベース (特に、Oracle、DB2、SQL Server などの etnerprise レベルの大規模プラットフォーム、および PostgreSQL、MySQL、SQlite などの一般的なプラットフォーム) に接続できるようにすることです。ユーザーは自分のシステムに関連するドライバーをインストールしていません。

進め方がわかりません。アプリケーションと一緒にすべてのドライバーを配布する必要がありますか? 万能のソリューションはありますか? たとえば、ユーザーが自分のシステムに Oracle クライアントをインストールすることなく、Oracle ドライバーを配布できますか? これを行う最善の方法は何だろうか。任意の参照をいただければ幸いです。

4

2 に答える 2

1

データベース接続に ADO.NET を使用しているとします。

  • データベースにとらわれないように、クラスの DbXXX セット (DbConnection、DbCommand など) に対してプログラムする必要があります。
  • 標準のプロバイダー ファクトリ メカニズムを使用して、インストールされているプロバイダーのリストを取得し、必要な DbXXX インスタンスを生成する必要があります。

対応するドライバをインストールしないと、データベースに接続できません! ドライバーを配布する必要はありません。これは、接続したいデータベースに応じて、アプリケーションの各ユーザーが実行できることです。

于 2012-05-10T14:15:05.607 に答える
1

これは、手の込んだインストーラー プロセスで解決できる可能性があるもののように思えます。アプリケーションと一緒に配布するデータベース ドライバーのインストール パッケージをアプリの MSI ファイルにバンドルし、カスタム インストール ルーチンを含めて、ユーザーがインターフェースするデータベース エンジンを選択できるようにすることができます。その情報を利用して、インストーラーは適切なドライバー インストール ルーチンを実行できます。

于 2012-05-10T14:19:08.600 に答える