同步其他与 ADO.NET 兼容的数据库

本节中的主题为可通过使用 Sync Framework 执行的常见同步任务提供背景信息、操作步骤以及完整代码示例。这些主题旨在说明如何通过使用 Sync Framework 同步 SQL Server 以外的其他数据库。在此版本中,SQL Server 用于代码示例中,但通过对特定于 SQL Server 的对象(例如 SqlConnection)以及所示的 SQL 查询进行一些修改,这些代码就可用于其他与 ADO.NET 兼容的数据库。有关 SQL Server 同步(包括 SQL Server Express 和 SQL Server Compact)的信息,请参见如何配置和执行协作同步 (SQL Server)

本节内容

帮助主题中的示例应用程序

每篇帮助主题都包含一个控制台应用程序。该应用程序使用 C# 和 Visual Basic 编写,用于演示 API 的特定功能。虽然仅展示针对特定任务或功能的代码示例要更快捷一些,但是在一个还算完整的上下文中查看特定功能的表现更有助于理解 Sync Framework 的工作方式。

每个应用程序都包含以下类以及与要介绍的功能相关的其他类:

  • Program:此类设置同步并调用 Utility 类的方法。Utility 类负责处理所有与同步非直接相关的功能,例如保存连接字符串信息和变更同步中涉及的数据库等。

  • SampleSyncAgent:此类派生自 SyncOrchestrator

  • SampleSyncProvider:此类包括一些方法,这些方法创建以下对象:为要同步的每个节点创建一个 DbSyncProvider 对象或一个 SqlCeSyncProvider 对象;并且为要通过使用 DbSyncProvider 同步的每个表创建一个 DbSyncAdapter 对象。

所有应用程序的代码都已在 Visual Studio 2008 和 SQL Server 2008 上进行过测试。

运行每个应用程序

  1. 执行用于数据库提供程序帮助主题的安装脚本中的“用于协作方案的自定义变更跟踪”Transact-SQL 脚本。该脚本创建三个数据库,每个数据库都具有一组表和触发器以及一组存储过程。若要删除并重新插入示例数据,请使用 usp_ResetPeerData 存储过程。

  2. 用于数据库提供程序帮助主题的 Utility 类中复制 Utility 类的代码。将此代码粘贴到要运行的每个应用程序中,或者从代码创建一个 DLL,并从每个应用程序中引用该 DLL。此类中的数据库连接字符串将 localhost 用于数据库名称。根据需要更新该数据库名称。

  3. 添加对以下 DLL 的引用:

    • Microsoft.Synchronization.dll

    • Microsoft.Synchronization.Data.dll

    • Microsoft.Synchronization.Data.SqlServerCe.dll 和 System.Data.SqlServerCe.dll(并非所有示例都要求)

请参阅

概念

用于协作同步的体系结构和类
协作方案
如何配置和执行协作同步 (SQL Server)