Microsoft Sync Framework - 本地数据库和远程数据库必须具有相同的架构?

时间:2009-12-13 06:47:10

标签: synchronization sql-server-ce microsoft-sync-framework

使用MSF时,技术中是否暗示同步表应为1-1?

我想知道的是,如果我从SQL2005数据库同步到SQLCE,我可能希望CE更平坦一些,这样我就可以用更简单的SELECT语句来获取数据(如CE不支持sprocs。)

例如,我可能在中央数据库中有一个tblCustomer,tblOrder和tblCustomerOrder,但在本地数据库中,可能首选一个包含所有数据的表。当然,我仍然希望更新能够在两个数据库之间来回反映。 MSF是否可以实现这一点,或者本地数据库是否必须与中央数据库具有相同的表?

2 个答案:

答案 0 :(得分:1)

使用Microsoft Sync Framework 2.0,数据库同步提供程序有两种范例。这些通常在documentation中称为脱机(Hub and Spoke)和协作(Peer to Peer)方案 - 每个方案都有自己的同步提供程序集。架构需要多么相似取决于您使用哪种提供商以及扩展的场景。

脱机方案包含ADO.Net样式适配器,可实现极大的灵活性。

协作方案不需要相同数量的字段,但任何包含的字段在两端必须具有相同的名称。此外,过滤器中使用的任何字段必须作为两侧的列存在。

答案 1 :(得分:0)

AS Scott Munro已经说过,虽然你可以对数据进行切片和切块,但重要的字段必须在两边......根据数据的大小,你可能想要做的是使用触发服务器端构建更平坦的表,然后同步...