Condividi tramite


Proprietà DbServerSyncProvider.SelectNewAnchorCommand

Ottiene o imposta un oggetto IDbCommand contenente la query o la stored procedure che restituisce un valore di nuovo ancoraggio dal database server. L'ancoraggio definisce il limite superiore del set di modifiche da sincronizzare durante la sessione corrente.

Spazio dei nomi: Microsoft.Synchronization.Data.Server
Assembly: Microsoft.Synchronization.Data.Server (in microsoft.synchronization.data.server.dll)

Sintassi

'Dichiarazione
Public Property SelectNewAnchorCommand As IDbCommand
'Utilizzo
Dim instance As DbServerSyncProvider
Dim value As IDbCommand

value = instance.SelectNewAnchorCommand

instance.SelectNewAnchorCommand = value
public IDbCommand SelectNewAnchorCommand { get; set; }
public:
property IDbCommand^ SelectNewAnchorCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_SelectNewAnchorCommand ()

/** @property */
public void set_SelectNewAnchorCommand (IDbCommand value)
public function get SelectNewAnchorCommand () : IDbCommand

public function set SelectNewAnchorCommand (value : IDbCommand)

Valore proprietà

Oggetto IDbCommand contenente una query o una stored procedure.

Osservazioni

Durante la sincronizzazione corrente il comando di nuovo ancoraggio fornisce un nuovo valore di ancoraggio. Vengono sincronizzate le modifiche effettuate dopo l'ultimo valore di ancoraggio ricevuto e prima del nuovo. Il nuovo valore di ancoraggio ricevuto viene quindi memorizzato e utilizzato come ultimo valore di ancoraggio ricevuto per la sincronizzazione successiva. Per ulteriori informazioni, vedere la sezione "Determinazione delle modifiche ai dati da scaricare in un client" in Rilevamento delle modifiche nel database server.

Esempio

Nell'esempio di codice seguente viene specificato un comando per recuperare un nuovo valore di ancoraggio dal server. In questo caso, MIN_ACTIVE_ROWVERSION restituisce un valore di timestamp proveniente da un database SQL Server. (MIN_ACTIVE_ROWVERSION è stato introdotto in SQL Server 2005 Service Pack 2.) Viene utilizzato un valore di timestamp perché le colonne di rilevamento nel database server contengono valori di timestamp. Se le colonne di rilevamento contenessero valori di data, sarebbe possibile utilizzare una funzione quale GETUTCDATE() anziché MIN_ACTIVE_ROWVERSION. SyncSession contiene diverse costanti di stringa che è possibile utilizzare nei comandi di sincronizzazione. SyncNewReceivedAnchor è una di tali costanti. È inoltre possibile utilizzare il valore letterale @sync_new_received_anchor direttamente nelle query. Per visualizzare questo codice nel contesto di un esempio completo, vedere Guida introduttiva: sincronizzazione client e server.

SqlCommand selectNewAnchorCommand = new SqlCommand();
string newAnchorVariable = "@" + SyncSession.SyncNewReceivedAnchor;
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1";
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp);
selectNewAnchorCommand.Parameters[newAnchorVariable].Direction = ParameterDirection.Output;
selectNewAnchorCommand.Connection = serverConn;
this.SelectNewAnchorCommand = selectNewAnchorCommand;
Dim selectNewAnchorCommand As New SqlCommand()
Dim newAnchorVariable As String = "@" + SyncSession.SyncNewReceivedAnchor
selectNewAnchorCommand.CommandText = "SELECT " + newAnchorVariable + " = min_active_rowversion() - 1"
selectNewAnchorCommand.Parameters.Add(newAnchorVariable, SqlDbType.Timestamp)
selectNewAnchorCommand.Parameters(newAnchorVariable).Direction = ParameterDirection.Output
selectNewAnchorCommand.Connection = serverConn
Me.SelectNewAnchorCommand = selectNewAnchorCommand

Vedere anche

Riferimento

Classe DbServerSyncProvider
Membri DbServerSyncProvider
Spazio dei nomi Microsoft.Synchronization.Data.Server