ADO.NET Provider for Sage 50 UK

Build 23.0.8839

データの自動キャッシュ

クエリごとにキャッシュを再構築したくない場合は、データを自動的にキャッシュすると便利です。初めてデータをクエリすると、本製品 はバックグラウンドで自動的にキャッシュを初期化して構築します。AutoCache = true の場合、本製品 は後続のクエリ実行にキャッシュを使用するため、応答時間が短縮されます。

レプリケーションが有効になっている場合、データは一度生成されてからローカルおよびクラウドのデータストアにコピーされます。差分更新を使うと、本製品 はキャッシュされたテーブルを削除してリフレッシュごとにテーブル全体を再取得するよりも、優れたパフォーマンスを発揮します。反復更新を使うと、本製品 は最後に日付がリフレッシュされたときからのみクエリを実行します。レプリケーションが有効になっていない場合、キャッシュを更新するにはデータセット全体をダウンロードする必要があります。

自動キャッシュの設定

キャッシュを自動的に更新し、ローカルキャッシュから結果を返すには、次の接続文字列プロパティを設定します。

  • AutoCache:このプロパティは、値がtrue に設定されていると自動的にキャッシュを更新します。
  • CacheTolerance:このプロパティは、データベースから取得したデータが最新バージョンであることを確保します。デフォルト値は 600秒(10分)です。本製品 は、許容インターバルが過ぎると、新しいレコードがないかデータソースをチェックしに行きます。それ以外は、キャッシュから直接データを返します。

TradingAccounts テーブルのキャッシュ

次の例は、接続文字列のCacheLocation プロパティで指定されたファイルのTradingAccounts テーブルをキャッシュします。

C#

String connectionString = "Cache Location=C:\\cache.db;AutoCache=true;URL=http://localhost:5493/sdata/accounts50/GCRM/{C4C863BE-B098-4A7D-A78B-D7A92B8ADB59};User=Manager;Password=xxxxxx;";
using (Sage50UKConnection connection = new Sage50UKConnection(connectionString)) {
  Sage50UKCommand cmd = new Sage50UKCommand("SELECT TradingAccountUUID, Name FROM TradingAccounts WHERE TradingAccountUUID = 'c2ef66a5-a545-413b-9312-79a53caadbc4'", connection);
  Sage50UKDataReader rdr = cmd.ExecuteReader();
  while (rdr.Read()) {
    Console.WriteLine("Read and cached the row with TradingAccountUUID " + rdr["TradingAccountUUID"]);
  }
}

VB.NET

Dim connectionString As [String] = "Cache Location=C:\\cache.db;AutoCache=true;URL=http://localhost:5493/sdata/accounts50/GCRM/{C4C863BE-B098-4A7D-A78B-D7A92B8ADB59};User=Manager;Password=xxxxxx;"
Using connection As New Sage50UKConnection(connectionString)
  Dim cmd As New Sage50UKCommand("SELECT TradingAccountUUID, Name FROM TradingAccounts WHERE TradingAccountUUID = 'c2ef66a5-a545-413b-9312-79a53caadbc4'", connection)
  Dim rdr As Sage50UKDataReader = cmd.ExecuteReader()
  While rdr.Read()
	  Console.WriteLine("Read and cached the row with TradingAccountUUID " + rdr("TradingAccountUUID"))
  End While
End Using

一般的なユースケース

データを自動的にキャッシュする一般的な用途は、レポートの作成やビジュアライゼーションの作成など、ライブデータソースに繰り返し要求を行うときのドライバーのパフォーマンスを向上させることです。自動キャッシュが有効になっていると、同じデータに対する繰り返しの要求は短期間で実行されますが、"ライブ"データと見なされる許容範囲内(CacheTolerance)になります。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839