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


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