DbServerSyncProvider.SelectNewAnchorCommand プロパティ

サーバー データベースから新しいアンカー値を返すクエリまたはストアド プロシージャを格納する IDbCommand オブジェクトを取得または設定します。アンカーは、現在のセッション中に同期される一連の変更の上限を定義します。

名前空間: Microsoft.Synchronization.Data.Server
アセンブリ: Microsoft.Synchronization.Data.Server (microsoft.synchronization.data.server.dll 内)

構文

'宣言
Public Property SelectNewAnchorCommand As IDbCommand
'使用
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)

プロパティ値

クエリまたはストアド プロシージャを格納する IDbCommand オブジェクト。

解説

現在の同期中に、新しいアンカー コマンドによって新しいアンカー値が提供されます。最後にアンカー値を受け取ったときから、新しいアンカー値を受け取る前までに加えられた変更が同期されます。その後、新しく受け取ったアンカーが格納され、次の同期時に最後に受け取ったアンカー値として使用されます。詳細については、「サーバー データベースの変更の追跡」の「クライアントにダウンロードするデータ変更を決める」を参照してください。

次のコード例では、サーバーから新しいアンカー値を取得するコマンドを指定します。この場合、MIN_ACTIVE_ROWVERSION は、SQL Server データベースからタイムスタンプ値を返します (MIN_ACTIVE_ROWVERSION は SQL Server 2005 Service Pack 2 で導入されました)。タイムスタンプ値が使用されるのは、サーバー データベースの追跡中の列にタイムスタンプ値が含まれるためです。追跡中の列に日付値が含まれている場合は、MIN_ACTIVE_ROWVERSION ではなく GETUTCDATE() などの関数を使用します。SyncSession には、同期コマンドで使用できるいくつかの文字列定数が含まれています。SyncNewReceivedAnchor はこうした定数の 1 つです。また、クエリでは、リテラルの @sync_new_received_anchor を使用することもできます。完全なコンテキスト例でこのコードを表示するには、「はじめに : クライアントとサーバーの同期」を参照してください。

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

参照

リファレンス

DbServerSyncProvider クラス
DbServerSyncProvider メンバー
Microsoft.Synchronization.Data.Server 名前空間