Поделиться через


Свойство 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