本節的主題提供您可以使用 Sync Framework 執行之一般同步處理工作的背景資訊、程序內容和完整程式碼範例。這些主題是設計來示範如何使用 Sync Framework 來同步處理 SQL Server 以外的資料庫。在這一版中,程式碼範例中使用的是 SQL Server,但是程式碼可用於其他 ADO.NET 相容的資料庫,只需要針對 SQL Server 特有的物件 (例如 SqlConnection) 以及顯示的 SQL 查詢進行某些修改。如需 SQL Server 同步處理 (包括 SQL Server Express 和 SQL Server Compact) 的詳細資訊,請參閱HOW TO:設定及執行共同作業同步處理 (SQL Server)。
本章節內容
HOW-TO 主題中的範例應用程式
每個 HOW-TO 主題都包含一個主控台應用程式 (Console Application)。此應用程式是以 C# 和 Visual Basic 寫成,可以示範 API 的某些特定功能。雖然只為特定工作或功能示範程式碼範例的方式會比較迅速,但是如果您能在相當完整的內容中查看一項特定功能,會更容易了解 Sync Framework 的運作方式。
每個應用程式都包含下列類別,以及其他與描述的功能相關的類別:
Program:此類別會設定同步處理,並從Utility類別呼叫方法。Utility類別會處理所有與同步處理沒有直接關聯的功能,例如保留連接字串資訊,以及對涉及同步處理的資料庫進行變更。SampleSyncAgent此類別衍生自 SyncOrchestrator。SampleSyncProvider這個類別包含的方法會建立:正在同步處理之每一個節點的 DbSyncProvider 物件或 SqlCeSyncProvider 物件,以及使用 DbSyncProvider 所同步處理之每一個資料表的 DbSyncAdapter 物件。
所有應用程式的程式碼都已在 Visual Studio 2008 和 SQL Server 2008 上測試過。
若要執行每個應用程式
執行資料庫提供者的安裝指令碼 HOW-TO 主題中「共同作業案例的自訂變更追蹤」的 Transact-SQL 指令碼。這套指令碼會建立三個資料庫,每個都有一組資料表和觸發程序,以及一組預存程序。若要刪除後重新插入範例資料,請使用
usp_ResetPeerData預存程序。複製資料庫提供者公用程式類別的 HOW-TO 主題中的
Utility類別程式碼。將此程式碼貼入您想要執行的應用程式中,或是根據此程式碼建立 DLL,然後從每個應用程式中參考該 DLL。這個類別中的資料庫連接字串會使用localhost當做資料庫名稱。必要時,請更新資料庫名稱。加入下列 DLL 的參考:
Microsoft.Synchronization.dll
Microsoft.Synchronization.Data.dll
Microsoft.Synchronization.Data.SqlServerCe.dll 和 System.Data.SqlServerCe.dll (並非所有範例都需要)