Propriété DbServerSyncProvider.BatchSize
Obtient ou définit la taille du lot (en lignes) qui est utilisée par les commandes qui récupèrent les modifications dans la base de données serveur.
Espace de noms: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (dans microsoft.synchronization.data.server.dll)
Syntaxe
'Déclaration
Public Property BatchSize As Integer
'Utilisation
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)
Valeur de propriété
Taille du lot (en lignes) qui est utilisée par les commandes qui récupèrent les modifications dans la base de données serveur.
Notes
Sync Framework permet aux applications de télécharger des lots de modifications vers le client (le traitement par lots n'est pas pris en charge pour le téléchargement ascendant). Le traitement par lots est activé en spécifiant une valeur pour la propriété BatchSize et en créant une commande pour la propriété SelectNewAnchorCommand qui peut retourner des valeurs d'ancre pour chaque lot de modifications. Pour plus d'informations, consultez Procédure : spécifier l'ordre et la taille de lot des modifications.
Exemple
L'exemple de code suivant crée une commande d'ancre qui peut être utilisée si les modifications sont remises par lots. Au lieu de retourner une nouvelle valeur d'ancre une fois pour l'intégralité de l'ensemble des modifications, elle retourne une nouvelle valeur d'ancre pour chaque lot de modifications. L'exemple utilise la propriété BatchSize pour indiquer le nombre de modifications qui doivent figurer dans chaque lot, et des variables de session pour transférer les valeurs d'ancre entre une procédure stockée et le runtime de synchronisation. Si vous écrivez les commandes d'un adaptateur de synchronisation manuellement, vous utilisez encore les variables de session @sync_new_received_anchor et @sync_last_received_anchor. La variable de session @sync_max_received_anchor n'est utilisée que par la nouvelle commande d'ancre. Pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : spécifier l'ordre et la taille de lot des modifications.
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
Voir aussi
Référence
Classe DbServerSyncProvider
Membres DbServerSyncProvider
Espace de noms Microsoft.Synchronization.Data.Server