Compartilhar via


Propriedade DbServerSyncProvider.BatchSize

Obtém ou define o tamanho do lote (em linhas) usado por comandos que recuperam alterações do banco de dados servidor.

Namespace: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (em microsoft.synchronization.data.server.dll)

Sintaxe

'Declaração
Public Property BatchSize As Integer
'Uso
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)

Valor da propriedade

O tamanho do lote (em linhas) usado por comandos que recuperam alterações do banco de dados do servidor.

Comentários

O Sync Framework permite que os aplicativos baixem lotes de alterações no cliente (não há suporte para o envio em lote no carregamento). O envio em lote é habilitado especificando-se um valor para a propriedade BatchSize e criando-se um comando para a propriedade SelectNewAnchorCommand que pode retornar valores de âncora para cada lote de alterações. Para obter mais informações, consulte Como especificar a ordem e o tamanho do lote de alterações.

Exemplo

O exemplo de código a seguir cria um comando de âncora que poderá ser usado se as alterações forem entregues em lotes. Em vez de retornar um novo valor de âncora para todo o conjunto de alterações, ele retorna um novo valor para cada lote de alterações. O exemplo usa a propriedade BatchSize para especificar quantas alterações devem estar em cada lote, além das variáveis de sessão para passar valores de âncora entre um procedimento armazenado e o tempo de execução da sincronização. Se você gravar comandos do adaptador de sincronização manualmente, ainda usará as variáveis de sessão @sync_new_received_anchor e @sync_last_received_anchor. A variável de sessão @sync_max_received_anchor é usada apenas pelo novo comando de âncora. Para exibir esse código no contexto de um exemplo completo, consulte Como especificar a ordem e o tamanho do lote de alterações.

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

Consulte também

Referência

Classe DbServerSyncProvider
Membros DbServerSyncProvider
Namespace Microsoft.Synchronization.Data.Server