【问题标题】:Is it possible to sync not whole table data in MS Sync Framework?是否可以在 MS Sync Framework 中不同步整个表数据?
【发布时间】:2010-01-13 12:41:24
【问题描述】:

我有移动应用程序,所以我不想发送/接收表格中的全部更改..只是一些符合某些过滤条件的数据。用顺丰可以实现吗?如果是,请提供一些资源来阅读它,因为我几乎什么也没找到。
谢谢。

【问题讨论】:

  • 我怀疑不是,如果您不同步整个表,那么它就不会同步。如果您想更新表格的某些部分,那么我认为自己编写代码会更好。
  • 这里有类似的线程:stackoverflow.com/questions/385796/…,但我没有完全理解解决方案,写在那里+我想也许从那时起就有一些解决方案。例如,我不能用二进制数据同步表!它的大小太大,应用程序的工作需要来自某些列的数据。

标签: c# windows-mobile filter microsoft-sync-framework


【解决方案1】:

是的,这是可能的。例如,您可能只想同步与特定商店相关的记录,而不是商店表中的所有更改。

您可以通过向 SyncParameters 集合添加一个参数来完成此操作。例如

m_SyncAgent.Configuration.SyncParameters.Add("@ParamName", paramValue)

这会将参数数据传递到同步过程的服务器端,然后您可以使用它来仅同步您想要包含的数据。

【讨论】:

  • 但如果您理解正确,我也应该更改 cache.designer 文件中的查询(以使用参数)。但是在“刷新”同步依赖项之后,必须手动将这些参数添加回来,因为文件将由 VS 重新生成......我对吗?谢谢你的帮助!
  • nihi_I_ist,没错。我倾向于使用同步设计器来提出初始缓存设计器,然后手动修改,使用部分类来覆盖我需要更改以包含参数的一个 proc。
  • 顺便说一句;)设法从cs(不是设计器文件)传递参数,所以每次IDE重建设计器时我都不需要手动添加它们
【解决方案2】:

使用 SQL Server 复制服务 (SSRS) 绝对可以。您可以选择哪些表、字段,甚至可以对发布应用过滤器。我不熟悉 Sync Framework,但 SSRS 订阅出现在 Sync Center 中,所以我的假设是 Sync Framework 使用 SSRS。

【讨论】:

  • 感谢您的回答,但您能否提供一些有关如何执行此操作的文档(抱歉,这是我第一次听说 SSRS)?我自己搜索过,但它很紧急,如果您知道文档在哪里,请再次提供帮助。谢谢
  • SSRS 是一项相当复杂的技术。实际上,任何复制都是如此,而且我对紧急实施它感到非常紧张。此链接适用于 SQL 2000,但有屏幕截图:mssqlcity.com/Articles/Replic/SetupSR/SetupSR.htm。 SQL Server BOL 中有大量信息:technet.microsoft.com/en-us/library/ms151198.aspx
  • 感谢您的回复!..hmm..可能是这样:msdn.microsoft.com/en-gb/library/bb726003.aspx 是我需要的解决方案吗?..
  • 这对我来说是正确的。即使我没有回答问题,也希望我为您指明了正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多