我们将销售交易从我们的商店上传到总部服务器。目前,我们使用DTS(SQL Server数据转换服务),但我们计划用ADO.NET的Microsoft Sync服务替换它,因为这似乎是Microsoft针对此类设置的首选解决方案,我们希望关注标准(希望能长期存在)。 以下是我们的设置细节以及我们的计划。我正在寻找一些建议,尤其是关于Sync Services是否适合我们的解决方案。
场合
每家商店都有第三方EPOS系统,该系统将销售存储在我们可以访问的Microsoft Access 2000数据库中。我们的总部数据库是SQL Server 2005,但将升级到2008年。总部不在所有商店的VPN上,但我们可以打开防火墙到商店的IP地址,这样他们就可以直接将数据发送到SQL服务器。商店总是通过ADSL连接到互联网,虽然他们确实失去了连接,我们不想丢失销售数据。 我们只是从商店上传交易 - 不需要下载定义。
当前解决方案
我们已经编写了一个在商店PC上运行的Windows服务。此服务从服务器下载DTS包(其中包含上载的所有详细信息)并在商店中运行它 - 这将上传销售到我们的服务器。 我们选择了DTS,因为它在安装MSDE时是免费的。我们不能使用SSIS,因为这需要每个商店都有SQL Server许可证。 我们选择DTS的另一个原因是上传的细节(即要包含哪些表和字段)存储在我们的总部服务器上,因此如果我们需要更改内容,我们可以集中进行,不需要安装任何新内容商店。这不是一个showstopper,但在我们的新解决方案中拥有这种能力会很好。
潜在的解决方案 - 针对ADO.NET的Microsoft Sync服务
我们目前正在使用针对ADO.NET的Microsoft Sync服务构建概念验证。我们的想法是将SQL CE(SQL Server Compact 3.5)放在每个商店(客户端)中,并将其同步到headoffice SQL Server 2005数据库(服务器)。我们将通过(1)将其与Access 2000数据库同步或(2)让EPOS系统开发人员直接将销售额写入SQL CE数据库(可能是(2))将数据导入SQL CE数据库。但我们主要担心的是将数据从商店转移到总部服务器。这种方法似乎是Microsoft针对偶尔连接系统的首选解决方案,这使我们认真对待Sync Services。 我希望使用这个意味着上传销售所需的大部分工作都将内置到Sync Services中,我们不必重新发明轮子。
潜在解决方案 - 上传到自定义网络服务
还可以将销售交易上传到我们的总部服务器上的自定义Web服务,然后上载到我们的SQL Server数据库中。这意味着我们必须构建自己的机制来确定哪些行是新的,以及在系统断开连接时的缓存。此外,我们可能会错过将在Sync Services中内置的其他功能。
如果您有任何有用的建议,请告诉我,尤其是:“Sync服务是否是正确的解决方案!”。我们试图解决的问题似乎非常通用(从商店上传销售) - 我想用通用解决方案来解决它。
答案 0 :(得分:3)
Microsoft Sync服务比您需要的更多,但它肯定会做您想要的,并且它是根据您的应用程序类型构建的。
与微软的大多数新技术一样,(谨慎:概括!)你可能会发现它并不像你想的那样成熟。它会做你需要的,但你可能会遇到一些不容易解决的问题,因为它还没有通过铃声。但是,作为早期采用者,您可能会发现Sync开发人员在您遇到问题时非常乐意帮助您,因此这并不像看起来那么大。
请务必仔细阅读有关该文献的所有文献,其中一些文献已在此处,或在以下网站中链接:
考虑到您的单向信息流,以及集中布局,我希望您应该很少(如果有的话)设置并使用它。
请务必在此回复您的体验!
- 亚当