【问题标题】:Columns added to table do not synchronise添加到表的列不同步
【发布时间】:2015-10-27 15:36:00
【问题描述】:

我正在使用 Microsoft 同步框架。我有一个客户端数据库和一个服务器数据库,它们每隔一段时间就会相互同步。没有失败或任何事情。

但是,当我在服务器上的某些表中添加新列时,这些列不会同步。如果我随后删除范围,它会重新创建,并且新列将成为新范围的一部分,但是当我开始同步时,它会显示 "Invalid ColumnName 'XY'"。

我可以去客户端并在那里添加列,但这绝对不是最好的方法。

另外,当我在服务器上添加新表时,它们不想进入范围。到目前为止,仅更改范围将是一个机会,但是,我在范围内缺少在线:

 <Adapter Name="[tblnewTable]" GlobalName="[tblnewTable]" TrackingTable="[tblnewTable_tracking]" SelChngProc="[tblnewTable_selectchanges_0e06c509-3402-4898-b8e6-cc8885fa8c35]" >

我不太确定这个随机数来自哪里,因为它在 Scope 的每个适配器名称中。

我在 Microsoft 库中找不到任何内容,因此也许有人可以回答以下问题之一:

有没有一种简单的方法可以将新列添加到同步中? 如何让新表进入作用域?

编辑:我通过这篇博文找到了答案:http://myazurejourney.blogspot.de/2010/06/how-to-re-provision-scope-in-microsoft.html#comment-form

我在客户端和服务器端都配置了数据库,然后我使用上面发布的博客中的函数重新配置了一个全新的范围。现在可以了。

【问题讨论】:

    标签: sql-server database microsoft-sync-framework


    【解决方案1】:

    添加新对象无论是用于新列还是新表等,都需要您更改现有的范围信息 xml 数据。我在这个博客之后做了同样的事情:https://jtabadero.wordpress.com/2011/04/28/modifying-sync-framework-scope-definition-part-4-workarounds-adding-a-table-to-an-existing-scope/

    【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2021-02-24
    • 2019-07-06
    • 2013-03-25
    相关资源
    最近更新 更多