有没有办法在不丢失本地数据的情况下重新配置本地数据库(使用Sync framework 2.1)?
我的情景是:
我的问题从第3步开始,因为我需要删除LOCAL DB上的所有表以便能够获得新范围,否则我将得到例外:"Invalid column name 'new column'"
那么,是否可以在不删除旧表的情况下重新配置本地数据库?
请,所有的帮助将不胜感激。
答案 0 :(得分:1)
取消配置不会删除数据,它只会删除与范围关联的元数据/对象。如果其数据库取消配置,它将删除所有Sync Fx创建的对象。
好的一面,你不会丢失数据。 不好的一面,如果你在同一张桌子上重新配置一个新的范围,他们已经拥有了数据。但是新范围并不知道这些数据(同步知识在新范围内是空的),因此您最终会同步现有行,从而导致冲突。 擦除其中一个副本是最快的解决方案。答案 1 :(得分:0)
您无需删除数据库。 de配置两个数据库。并为数据表添加新列并运行同步。这应该工作。这就是你贬低的方式。
SqlSyncScopeDeprovisioning scopeDeprovisioning = new SqlSyncScopeDeprovisioning((SqlConnection)_peerProvider.Connection);
scopeDeprovisioning.ObjectSchema = _dbProvider.ObjectSchema;
// Remove the scope.
scopeDeprovisioning.DeprovisionScope(this._peerProvider.ScopeName);