Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Windows 跨设备同步SQLite数据库_Windows_Sqlite_Windows Runtime_Uwp_C++ Cx - Fatal编程技术网

Windows 跨设备同步SQLite数据库

Windows 跨设备同步SQLite数据库,windows,sqlite,windows-runtime,uwp,c++-cx,Windows,Sqlite,Windows Runtime,Uwp,C++ Cx,为了建立连接体验,我需要跨多个设备同步我的应用程序的数据存储(SQLite数据库)。到目前为止,我找到的唯一解决办法是,但这有两个直接的缺点: 存储空间相当有限 同步只能发生在文件级别(相对于数据库行) 后者尤其糟糕,因为这意味着不同设备上的更改可能会撤销另一设备上的更改,而不是合并修改 问:Windows运行时中是否内置了允许跨设备在行级别同步数据库的功能?我正在寻找一种适用于Windows 10和Windows 10 Mobile的解决方案 更新:其他信息1)关于我在寻找什么,以及我试图避

为了建立连接体验,我需要跨多个设备同步我的应用程序的数据存储(SQLite数据库)。到目前为止,我找到的唯一解决办法是,但这有两个直接的缺点:

  • 存储空间相当有限
  • 同步只能发生在文件级别(相对于数据库行)
  • 后者尤其糟糕,因为这意味着不同设备上的更改可能会撤销另一设备上的更改,而不是合并修改

    问:Windows运行时中是否内置了允许跨设备在行级别同步数据库的功能?我正在寻找一种适用于Windows 10和Windows 10 Mobile的解决方案


    更新:其他信息1)关于我在寻找什么,以及我试图避免什么情况。以下列表没有特定顺序:

    • 与我所寻找的最接近的匹配(就功能而言)是。它允许服务器端DB存储,并支持冲突解决回调。如果此框架可用于每个最终用户的云存储,则将提供无缝连接的体验
    • 我希望避免在另一台设备上轮询DB更改。OneDrive支持,因此这不是一个真正的问题(假设其他云存储提供商提供类似的服务)
    • 我希望避免下载整个数据库来计算本地数据库的增量。这需要某种基于web的服务。到目前为止,我的研究没有发现任何结果,所以这可能是我不得不接受的
    • 我想及时收到变更通知。如果我必须跨云存储完成底层数据库文件的所有同步,这意味着只要数据库发生变化,就应该上传数据库。这是有问题的,尤其是在计量连接上


    1) 这一信息是在提供之后提供的。投票时请记住这一点。

    此功能没有内置功能;要么你必须自己尝试让漫游存储工作起来,要么你需要一种基于服务的方法,在这种方法中,真相就在云端,客户端来回同步增量

    请注意,如果您支持缓存数据的脱机访问,则在这种情况下仍然存在冲突解决问题,但至少存储限制将消失。(理论上,即使没有离线访问,您也会遇到冲突解决问题,但在单用户应用程序中,这是极不可能的)

    编辑


    为了完整起见,我将提到作为帮助解决同步问题的一个选项,但它现在在“扩展支持”中,官方文档没有提到UWP,因此我不知道它是否有效。

    这令人失望。我相信我所要求的是几乎所有应用程序的一个相当普遍的要求。我明白解决冲突仍然是我的责任。我只是希望有一个框架能告诉我冲突的情况,然后再打电话给我的应用程序,告诉它解决冲突的细节。我本来希望得到OneDrive的支持,但看起来没有。至少Webhook通知允许我响应云内容更改。下载一个完整的数据库,只是为了找到本地的增量,感觉还是很困难。是的,这很常见,但通常是基于云的。您可以查看类似于帮助使用服务器端组件的产品。如果你想四处购物,亚马逊和其他公司也提供类似的服务。请原谅我的无知,但是Azure Mobile App Services(和其他公司)难道不要求支持商店位于服务器上,由应用程序作者/供应商控制吗?这使得它对于协作非常有用,但对于一个只想让自己的数据跟随它们的用户来说却毫无用处,不管他们在任何给定时间使用的是什么设备。还是我遗漏了什么?您的请求对Windows中的新功能建议很有意义。目前,您需要一个服务器资源。想象一下任何具有漫游数据的单用户应用程序(尤其是跨平台);他们可能使用云数据存储。