QuickBooks Provider を使用した高速レポーティング



CData ADO.NET Provider for QuickBooks は、ネットワーク経由でのコマンド実行の遅延を回避したり、オフライン機能を備えたアプリケーションを作成したり、特定の SQL 方言を使用したりするためのキャッシュ機能を備えています。キャッシュはアプリケーションに対して透過的に機能します。この記事では、キャッシュの一般的なユースケースの1つである、大規模なデータセットを扱う場合でもキャッシュから高速なレポーティングを実現するために、Auto Cache 機能を有効にする方法を説明します。

キャッシュの作成

ローカルキャッシュにクエリを実行することで、ネットワークの負荷時間を軽減できます。Auto Cache 機能を使用すると、最新のデータからレポーティングを行いながら、負荷の高いクエリをローカルキャッシュに対して実行できます。Auto Cache が有効な場合、すべてのクエリはデータソースに対して実行され、さらに SELECT クエリはキャッシュを作成・更新します。以下の構文でキャッシュに対して明示的にクエリを実行できます:

SELECT * FROM Customers#CACHE

Auto Cache 機能を有効にするには、Auto Cache 接続文字列プロパティを True に設定して接続を開きます。キャッシュを作成してテーブルを格納するには、SELECT クエリを実行します。以下のコード例は、接続してキャッシュを作成する方法を示しています。

string connectionString = "URL=http://localhost:2080;User=test;Password=test;";
"Auto Cache=true;";
using(QuickBooksConnection conn = new QuickBooksConnection(connectionString)){
  QuickBooksDataAdapter dataAdapter = new QuickBooksDataAdapter("Select * From Customers", conn);
  DataTable table = new DataTable();
  dataAdapter.Fill(table);
}

キャッシュ戦略の実装

サンプルアプリケーションをダウンロードして、この記事のコード例を使用した完全なアプリケーションの作成方法を確認できます。付属のサンプルプロジェクトは、現在の QuickBooks データを表示するシンプルなアプリケーションに、効果的なキャッシュソリューションの基本コンポーネントを統合しています。