Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在合理的时间内在连接之间进行NGE。如果不是这样的话,我可能仍然会对同步内容非常开放,以避免用户在没有意识到的情况下使用过时的数据_.net_Sql Server_Microsoft Sync Framework_Disconnected_Occasionallyconnected - Fatal编程技术网

.net 在合理的时间内在连接之间进行NGE。如果不是这样的话,我可能仍然会对同步内容非常开放,以避免用户在没有意识到的情况下使用过时的数据

.net 在合理的时间内在连接之间进行NGE。如果不是这样的话,我可能仍然会对同步内容非常开放,以避免用户在没有意识到的情况下使用过时的数据,.net,sql-server,microsoft-sync-framework,disconnected,occasionallyconnected,.net,Sql Server,Microsoft Sync Framework,Disconnected,Occasionallyconnected,推送在脱机模式下所做的更改 如果可能的话,我可能根本不允许离线模式下的更改-这是不可能的,那么你应该考虑把变化作为一个单独的(并且可能)。 相当复杂)过程本身 P>不知道更多的应用,很难提出好的建议,因为同步过程是非常依赖于业务的,但是一些需要考虑的事情是: 用户是否应该能够锁定(或签出)项目,以防止其他人在脱机工作时更改项目 锁应该是可重写的吗 如果锁被覆盖,当有人试图保存更改时会发生什么情况(合并过程似乎是一个明智的选择) 是否有人可以编辑他们尚未签出的项目 如果您确实决定实施一个复杂

推送在脱机模式下所做的更改

如果可能的话,我可能根本不允许离线模式下的更改-这是不可能的,那么你应该考虑把变化作为一个单独的(并且可能)。 相当复杂)过程本身

<> P>不知道更多的应用,很难提出好的建议,因为同步过程是非常依赖于业务的,但是一些需要考虑的事情是:

  • 用户是否应该能够锁定(或签出)项目,以防止其他人在脱机工作时更改项目
  • 锁应该是可重写的吗
  • 如果锁被覆盖,当有人试图保存更改时会发生什么情况(合并过程似乎是一个明智的选择)
  • 是否有人可以编辑他们尚未签出的项目
如果您确实决定实施一个复杂的脱机更改过程,那么您可能希望了解常见分布式VCS中使用的工作流,以获得灵感

更改脱机数据存储

您可能会发现使用或作为本地数据存储是一个更优雅的解决方案(它肯定会使安装过程更容易),如果您使用LINQ,那么我可能会倾向于使用SQL Compact,因为它肯定支持LINQ到SQL


我将首先关注以上两个方面,因为这一更改在最终用户改进方面提供的效果最少,而且可能是最重要的工作—在仍然使用SQL Server Express作为本地数据存储时,上述两个方面是完全可以实现的。

在与同步框架进行了许多天的斗争之后,我正在考虑放弃它,只写一篇文章一些简单的WCF服务和代码。我的要求是在移动设备上从SQL2008到SQLCE进行相当简单的单向同步。根据我的经验,定制(仅同步某些字段等)非常困难,而且速度非常慢且效率低下。我认为微软需要做更多的工作,使它更易于使用

干杯


Mark

我们在几个项目中使用了同步框架(一个是sql server,一个是PGsql),所以我可以说它工作得相当好

查看此演练应用程序,了解您可以做什么

这将向您展示如何在多个sql server数据库之间同步数据。您还可以自定义“增量”存储过程,以获取自定义参数并基于这些参数筛选数据(例如,客户机用户计划访问的人员)

我还建议您使用一个反射器来反编译同步框架代码,以防您看到wierd错误——有时,除非您看到框架代码中捕获异常,否则无法找出错误的位置。Redgate非常适合我


如果你需要更多的帮助,请告诉我

您是否尝试在行级别筛选合并复制项目?这会将您的14k行大小减少到可管理的程度。


这是一个很好的使用SQLServerCE的演练,对于您正在尝试的工作应该非常有用,并且占用的空间要小得多。在我看来,您失去的功能丝毫不会妨碍您的工作。

如果需要更多细节、重新措辞或更好的关注,请告诉我。这对我来说非常重要,我非常感谢所有花时间作出回应的人。我对自己没有更好地表达我的问题感到失望,因为到目前为止,答案并没有真正解决我的担忧。我将再编辑一次,尝试帮助您解决这个问题。我想您现在可能已经解决了这个问题,但如果没有,我可以建议使用sync framework 2.0或2.1以及sql 2005或更高版本来解决这个问题。我为一个偶尔连接的.NET4应用程序实现了类似的功能,可供400名用户使用。谢谢,我已经看到了。我只是希望能有更多的实际行动。谢谢你的时间,谢谢你的回复。我的用户大部分时间都会在办公室连接,然后将笔记本电脑带到野外。他们通常会提前知道他们需要什么样的数据。它需要是持久数据,因此需要一个本地数据库。他们在现场时不会有联系。我很惊讶他们不想要平板电脑。大多数携带笔记本电脑进入现场的人都觉得它们很笨重。同样,我会使用一些免费提供的同步解决方案,即使这可能意味着你同步的数据比他们实际需要的要多。大多数同步解决方案都是表和字段级别的,而不是行级别的。顺便说一句,给出的示例相当详细,并显示了同步如何仅与三个不同数据库(一个服务器和两个客户端)中的两个表进行工作。您将必须处理客户端插入在主键上产生冲突的场景-我们通过在每个客户端上使用完全不同的序列来处理。注意:您可能无法直接向用户提供信息,但您可以在SP中提及筛选条件(位置?帐户?)。