Partager via


BatchSize propriété

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
    Get
    Set
'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);
}
member BatchSize : int with get, set
function get BatchSize () : int
function set BatchSize (value : int)

Valeur de la propriété

Type : System. . :: . .Int32
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.

Exemples

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

DbServerSyncProvider Classe

Membres DbServerSyncProvider

Espace de noms Microsoft.Synchronization.Data.Server