DbSyncProvider.UpdateScopeInfoCommand プロパティ
ピア データベースのスコープ メタデータを更新するクエリまたはストアド プロシージャを格納する IDbCommand オブジェクトを取得または設定します。
このプロパティは、CLS に準拠していません。
名前空間: Microsoft.Synchronization.Data
アセンブリ: Microsoft.Synchronization.Data (microsoft.synchronization.data.dll 内)
構文
'宣言
Public Overridable Property UpdateScopeInfoCommand As IDbCommand
'使用
Dim instance As DbSyncProvider
Dim value As IDbCommand
value = instance.UpdateScopeInfoCommand
instance.UpdateScopeInfoCommand = value
public virtual IDbCommand UpdateScopeInfoCommand { get; set; }
public:
virtual property IDbCommand^ UpdateScopeInfoCommand {
IDbCommand^ get ();
void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_UpdateScopeInfoCommand ()
/** @property */
public void set_UpdateScopeInfoCommand (IDbCommand value)
public function get UpdateScopeInfoCommand () : IDbCommand
public function set UpdateScopeInfoCommand (value : IDbCommand)
プロパティ値
クエリまたはストアド プロシージャを格納する IDbCommand オブジェクト。
解説
このコマンドは、Sync Framework が必要とするスコープ メタデータ テーブル内の情報 (同期ナレッジ、クリーンアップ ナレッジなど) を更新します。スコープの使用方法の詳細については、「コラボレーション同期用にサーバー データベースを準備する方法 (SQL Server 以外)」の「メタデータを格納する追跡テーブルを作成する」を参照してください。
例
次のコード例では、各ピア データベースのスコープ テーブルのメタデータを更新するコマンドを指定します。完全なコンテキスト例でこのコードを表示するには、「コラボレーション同期用にサーバー データベースを準備する方法 (SQL Server 以外)」を参照してください。
SqlCommand updReplicaInfoCmd = new SqlCommand();
updReplicaInfoCmd.CommandType = CommandType.Text;
updReplicaInfoCmd.CommandText = "UPDATE Sync.ScopeInfo SET " +
"scope_sync_knowledge = @" + DbSyncSession.SyncScopeKnowledge + ", " +
"scope_id = @" + DbSyncSession.SyncScopeId + ", " +
"scope_tombstone_cleanup_knowledge = @" + DbSyncSession.SyncScopeCleanupKnowledge + " " +
"WHERE scope_name = @" + DbSyncSession.SyncScopeName + " AND " +
" ( @" + DbSyncSession.SyncCheckConcurrency + " = 0 OR scope_timestamp = @" + DbSyncSession.SyncScopeTimestamp + "); " +
"set @" + DbSyncSession.SyncRowCount + " = @@rowcount";
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncScopeKnowledge, SqlDbType.VarBinary, 10000);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncScopeCleanupKnowledge, SqlDbType.VarBinary, 10000);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncScopeName, SqlDbType.NVarChar, 100);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncCheckConcurrency, SqlDbType.Int);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncScopeId, SqlDbType.UniqueIdentifier);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncScopeTimestamp, SqlDbType.BigInt);
updReplicaInfoCmd.Parameters.Add("@" + DbSyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output;
sampleProvider.UpdateScopeInfoCommand = updReplicaInfoCmd;
Dim updReplicaInfoCmd As New SqlCommand()
With updReplicaInfoCmd
.CommandType = CommandType.Text
.CommandText = "UPDATE Sync.ScopeInfo SET " _
& "scope_sync_knowledge = @" + DbSyncSession.SyncScopeKnowledge + ", " _
& "scope_id = @" + DbSyncSession.SyncScopeId + ", " _
& "scope_tombstone_cleanup_knowledge = @" + DbSyncSession.SyncScopeCleanupKnowledge + " " _
& "WHERE scope_name = @" + DbSyncSession.SyncScopeName + " AND " _
& " ( @" + DbSyncSession.SyncCheckConcurrency + " = 0 OR scope_timestamp = @" + DbSyncSession.SyncScopeTimestamp + "); " _
& "set @" + DbSyncSession.SyncRowCount + " = @@rowcount"
.Parameters.Add("@" + DbSyncSession.SyncScopeKnowledge, SqlDbType.VarBinary, 10000)
.Parameters.Add("@" + DbSyncSession.SyncScopeCleanupKnowledge, SqlDbType.VarBinary, 10000)
.Parameters.Add("@" + DbSyncSession.SyncScopeName, SqlDbType.NVarChar, 100)
.Parameters.Add("@" + DbSyncSession.SyncCheckConcurrency, SqlDbType.Int)
.Parameters.Add("@" + DbSyncSession.SyncScopeId, SqlDbType.UniqueIdentifier)
.Parameters.Add("@" + DbSyncSession.SyncScopeTimestamp, SqlDbType.BigInt)
.Parameters.Add("@" + DbSyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output
End With
sampleProvider.UpdateScopeInfoCommand = updReplicaInfoCmd
参照
リファレンス
DbSyncProvider クラス
DbSyncProvider メンバー
Microsoft.Synchronization.Data 名前空間