一部の Sql Server および Oracle データベースに接続するために ADO.Net を使用しており、いくつかのクエリを同時に実行したいと考えています。
Sql Server には SqlClient 名前空間のクラスを使用し、Oracle には ODP.Net を使用します。Sql Server の場合、MARS オプションを接続文字列に追加し、SqlCommand で非同期 API を呼び出しました。ODP.Net は非同期 API を提供しないため、並行 Oracle コマンドに個別のスレッドを提供する必要があります。
私の質問は、接続オブジェクトをどのように処理すればよいですか? 各データベース インスタンスごとに 1 つの DbConnection を作成し、単一の接続に対してコマンドを非同期的に実行する必要がありますか、それとも同時実行コマンドのそれぞれに個別の接続オブジェクトを与える必要がありますか? 共有接続オブジェクトは、同時に実行される複数のコマンドの競合ポイントになりますか?
いくつかの比較テストを書きますが、非同期データベース コマンドの経験がある人からの連絡をお待ちしています。前もって感謝します!