次の方法で共有


BatchSize プロパティ

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

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

構文

'宣言
Public Property BatchSize As Integer
    Get
    Set
'使用
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);
}
member BatchSize : int with get, set
function get BatchSize () : int
function set BatchSize (value : int)

プロパティ値

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

説明

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 名前空間