Compartir a través de


DbServerSyncProvider.BatchSize Propiedad

Obtiene o establece el tamaño del lote (en número de filas) utilizado en los comandos que recuperan cambios de la base de datos servidor.

Espacio de nombres: Microsoft.Synchronization.Data.Server
Ensamblado: Microsoft.Synchronization.Data.Server (en microsoft.synchronization.data.server.dll)

Sintaxis

'Declaración
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 de la propiedad

Tamaño del lote (en número de filas) utilizado en los comandos que recuperan cambios de la base de datos servidor.

Notas

Sync Framework permite a las aplicaciones descargar lotes de cambios en el cliente (no se admite el procesamiento por lotes en las operaciones de carga). Para habilitar el procesamiento por lotes se especifica un valor para la propiedad BatchSize y se crea un comando para la propiedad SelectNewAnchorCommand que puede devolver valores de delimitador para cada lote de cambios. Para obtener más información, vea Especificar el orden y el tamaño por lotes de los cambios.

Ejemplo

El ejemplo de código siguiente crea un comando de delimitador que se puede usar si se producen cambios en los lotes. En lugar de devolver un nuevo valor de delimitador de una vez para todo el conjunto de cambios, devuelve un nuevo valor de delimitador para cada lote de cambios. Este ejemplo utiliza la propiedad BatchSize para especificar cuántos cambios debe haber en cada lote y las variables de sesión necesarias para pasar valores de delimitador de atrás adelante entre un procedimiento almacenado y el tiempo de ejecución de la sincronización. Si escribe comandos de adaptador de sincronización de forma manual, seguirá usando las variables de sesión @sync_new_received_anchor y @sync_last_received_anchor. El nuevo comando de delimitador es el único que usa la variable de sesión @sync_max_received_anchor. Para consultar este código en el contexto de un ejemplo completo, vea Especificar el orden y el tamaño por lotes de los cambios.

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

Vea también

Referencia

DbServerSyncProvider Clase
DbServerSyncProvider Miembros
Microsoft.Synchronization.Data.Server Espacio de nombres