技术开发 频道

SQL Server 2008构建偶尔连接系统

在应用程序中启用同步

完成上述步骤后,数据同步也就配置完毕了。现在,您的应用程序中包含以下内容:

本地 Northwind 数据库(“Northwind.sdf”)。
数据同步设置信息(“NorthwindCache.sync”)。
由“数据源配置”向导生成的类型化数据集“NorthwindDataSet.xsd”。它包含从本地数据库填充的“Customers”表。
一个包含脚本的“SQLScripts”文件夹,这些脚本可用于创建跟踪服务器变化的跟踪列、已删除项表和必要的触发器。
一个包含脚本的“SQLUndoScripts”文件夹,这些脚本可用于删除添加到服务器中的跟踪列、已删除项表和必要的触发器。

注意:只有需要在服务器上进行修改时,才会创建 SQL 脚本。如果服务器已经具有已删除项表和跟踪列,将不会创建任何脚本。
? 对以下 Microsoft Synchronization Services for ADO.NET DLL 的引用:
? Microsoft.Synchronization.Data
? Microsoft.Synchronization.Data.Server
? Microsoft.Synchronization.Data.SqlServerCe

配置完数据同步后,您还必须将同步功能添加到应用程序中。具体而言,您需要添加启动同步过程的代码。

1. 在菜单中,点击“Data”,“Show Data Source”,以显示“Data Sources”窗口。
2. 将“Customers”节点从“Data Sources”窗口拖到“Form1”中。
3. 将一个“Button”控件从“ToolBox”拖到“Form1”中。将此按钮的“Name”属性设置为“SynchronizeButton”,将它的“Text”属性设置为“Synchronize Now”。
4. 双击“Synchronize Now”按钮以创建按钮单击事件处理程序,并在代码编辑器中打开该窗体。
5. 添加代码以启动同步进程,然后在数据集中重新填充“Customers”表。事件处理程序中的代码应与下面的代码类似:
注意:声明 syncStats 变量的代码行将在下一节中进行介绍。

// Call the synchronize method to synchronize
// data between local and remote databases.
Microsoft.Synchronization.Data.SyncStatistics syncStats;
syncStats
= NorthwindCacheSyncAgent.Instance.Synchronize();
// After synchronizing the data, refill the
// table in the dataset.
this.customersTableAdapter.Fill(this.northwindDataSet.Customers);


测试应用程序

1. 按 F5。
2. 运行应用程序时,使用服务器资源管理器/数据库资源管理器(或其他数据库管理工具)以连接到远程服务器数据库并修改某些记录。
i. 在服务器资源管理器/数据库资源管理器中,查找远程数据库服务器(不是到 Northwind.sdf 的连接)上的 Customers 表。
ii. 右击 Customers 表,然后单击“Show Table Data”。
iii. 修改一条或多条记录,然后提交更改。(导航关闭已修改的行。)
3. 返回到窗体,然后单击“Synchronize Now”。
4. 验证对远程数据库的修改是否已同步到本地数据库并显示在网格中。
5. 关闭窗体。(停止调试。)

检索同步信息

调用“Synchronize”方法时,该方法并不仅仅启动同步进程。“Synchronize”方法还会返回“SyncStatistics”对象,您可以从该对象访问有关同步的信息。

1. 在代码编辑器中打开“Form1”,然后在 SynchronizeButton_Click 事件处理程序的底部,接着先前步骤所添加的代码添加以下代码:

MessageBox.Show("Changes downloaded: " +
    syncStats.TotalChangesDownloaded.ToString());

测试应用程序

1. 按 F5。
2. 运行应用程序时,使用服务器资源管理器/数据库资源管理器(或其他数据库管理工具)以连接到远程服务器数据库并修改某些记录。
i. 在服务器资源管理器/数据库资源管理器中,查找远程数据库服务器(不是到 Northwind.sdf 的连接)上的 Customers 表。
ii. 右击 Customers 表,然后单击“Show Table Data”。
iii. 修改一条或多条记录,然后提交更改。(导航关闭已修改的行。)
3. 返回到窗体,然后单击“Synchronize Now”。
4. 此时,将显示一个包含已同步记录的信息的消息框。
5. 验证对远程数据库的修改是否已同步到本地数据库并显示在网格中。

 
 

0
相关文章