次の方法で共有


DbServerSyncProvider.BatchSize プロパティ

サーバー データベースから変更を取得するコマンドで使用されるバッチ サイズ (行単位) を取得または設定します。

名前空間: Microsoft.Synchronization.Data.Server
アセンブリ: Microsoft.Synchronization.Data.Server (microsoft.synchronization.data.server.dll 内)

構文

'宣言
Public Property BatchSize As Integer
'使用
Dim instance As DbServerSyncProvider
Dim value As Integer

value = instance.BatchSize

instance.BatchSize = value
public int BatchSize { get; set; }
public:
property int BatchSize {
    int get ();
    void set (int value);
}
/** @property */
public int get_BatchSize ()

/** @property */
public void set_BatchSize (int value)
public function get BatchSize () : int

public function set BatchSize (value : int)

プロパティ値

サーバー データベースから変更を取得するコマンドで使用されるバッチ サイズ (行単位)。

解説

Sync Framework では、アプリケーションが変更をバッチに分割して、クライアントにダウンロードできます (アップロード時のバッチ処理はサポートされていません)。BatchSize プロパティの値を指定し、SelectNewAnchorCommand プロパティ用に変更の各バッチに対するアンカー値を返すことができるコマンドを作成することで、バッチ処理は有効になります。詳細については、「変更の順序とバッチ サイズを指定する方法」を参照してください。

次のコード例は、変更がバッチで配信された場合に使用可能なアンカー コマンドを作成します。変更のセット全体に対して新しいアンカー値を一度に返すのではなく、変更の各バッチに対して新しいアンカー値を返します。この例では、BatchSize プロパティを使用して、各バッチに含める変更の数と、ストアド プロシージャと同期実行時間の間でアンカー値を渡すセッション変数を指定します。同期アダプター コマンドを手動で記述する場合は、@sync_new_received_anchor および @sync_last_received_anchor セッション変数を使用します。@sync_max_received_anchor セッション変数を使用するのは、新しいアンカー コマンドだけです。完全なコンテキスト例でこのコードを表示するには、「変更の順序とバッチ サイズを指定する方法」を参照してください。

SqlCommand selectNewAnchorCommand = new SqlCommand();
selectNewAnchorCommand.Connection = serverConn;
selectNewAnchorCommand.CommandText = "usp_GetNewBatchAnchor";
selectNewAnchorCommand.CommandType = CommandType.StoredProcedure;            
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncMaxReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp, 8);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchSize, SqlDbType.Int, 4);
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchCount, SqlDbType.Int, 4);            

selectNewAnchorCommand.Parameters["@" + SyncSession.SyncMaxReceivedAnchor].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Parameters["@" + SyncSession.SyncNewReceivedAnchor].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Parameters["@" + SyncSession.SyncBatchCount].Direction = ParameterDirection.InputOutput;
this.SelectNewAnchorCommand = selectNewAnchorCommand;
this.BatchSize = 50;
Dim selectNewAnchorCommand As New SqlCommand()
selectNewAnchorCommand.Connection = serverConn
selectNewAnchorCommand.CommandText = "usp_GetNewBatchAnchor"
selectNewAnchorCommand.CommandType = CommandType.StoredProcedure
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncMaxReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp, 8)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchSize, SqlDbType.Int, 4)
selectNewAnchorCommand.Parameters.Add("@" + SyncSession.SyncBatchCount, SqlDbType.Int, 4)

selectNewAnchorCommand.Parameters("@" + SyncSession.SyncMaxReceivedAnchor).Direction = ParameterDirection.Output
selectNewAnchorCommand.Parameters("@" + SyncSession.SyncNewReceivedAnchor).Direction = ParameterDirection.Output
selectNewAnchorCommand.Parameters("@" + SyncSession.SyncBatchCount).Direction = ParameterDirection.InputOutput
Me.SelectNewAnchorCommand = selectNewAnchorCommand
Me.BatchSize = 50

参照

リファレンス

DbServerSyncProvider クラス
DbServerSyncProvider メンバー
Microsoft.Synchronization.Data.Server 名前空間