解决与服务器的同步冲突
本文提供了可帮助您解决与服务器的移动同步冲突的信息。
如果出现同步错误,系统会在 Dataverse 内的同步错误表中自动生成一个新条目。 该表由以下列构成。
列名称 |
Description |
示例 |
错误时间 |
创建错误的时间。 |
5/17/2024 7:16 AM |
错误消息 |
错误的说明。 |
Entity Account With Id = <RowId> Does Not Exist |
错误类型 |
错误的类型,例如冲突或找不到记录错误。 |
找不到记录 |
记录 |
同步错误中更新的记录。 |
Contoso |
所有者 |
更新记录的用户。 |
John Doe |
操作 |
应用于要同步的记录的操作。 |
Update |
操作数据 |
包含操作有效负载的 Json。 |
{“lastname”:“Contoso2”} |
请求数据 |
包含查询的 Json。 |
{"lastname":"Contoso2","syncerror__regardingentityid":<syncerrorId>,"entitylogicalname":"account"} |
错误代码 |
错误的代码。 |
-2147015424 |
同步错误表是标准的 Dataverse 表。 我们建议您创建一个模型驱动应用来管理同步错误。
如果您运行模型驱动应用,您可以看到每个用户的同步错误。 如果选择同步错误行,您可以从命令栏中重试更改。
同步错误自然显示在设备状态页面中。 “ 设备状态 ”页在模型驱动应用中 开箱即用,但必须在画布应用中进行设置。 有关更多信息,请参阅使用离线模板和离线状态图标。
添加、修改或删除行时,您可以使用 Dataverse 触发器在 Power Automate 中创建自动化云端流。 该流可以在设备上自动发送电子邮件或发送通知。
备注
要在流中检索用户的电子邮件地址,请使用同步错误行的所有者列添加 Dataverse 操作按 ID 获取行。
当客户端和服务器之间的数据不匹配时,就会发生冲突错误。 默认情况下,用户在脱机模式下所做的更改将在用户重新联机时自动同步到服务器。
当用户对脱机应用中的数据进行更改时,一旦网络可用,就会将对每列的更新推送回 Dataverse。 对每列的最后一次更新存储在 Dataverse 中,因此该同步不会因冲突更改而失败。
服务器端插件和验证会使更改无效。 这些更改在本地进行还原,并且错误将写入同步错误 Dataverse 表中。
如果脱机时的更新被频繁拒绝,请考虑将冲突解决设置设置为默认值。
- 登录 Power Platform 管理中心。
- 在导航窗格中,选择环境。
- 选择环境。
- 在命令栏中选择设置。
- 选择产品 > 功能。
- 在模型驱动应用的高级移动离线设置部分,关闭启用移动离线同步的冲突检测选项。
备注
在此选项打开(不推荐)时,服务器的更新可能会阻止应用客户端更新。 必须手动解决冲突错误。