0

假设我想开发一个 Win 8/10 通用应用程序,例如日历,用户有两个设备平板电脑/手机。

我的日历如何共享本地 SQL 数据库?

我不想维护或管理 azure 服务或任何其他远程数据库服务,即 AWS、运行 SQL Express 的 VPS 等。对于这样的基本场景来说,这太过分了。

我考虑过 SQLite 并将 DB 文件转储到用户 MS OneDrive 文件夹中,但我们知道这可能会导致同步/锁定问题。

那么使用纯粹的自包含和免费模型,我的两台设备如何共享这些基本 SQL 数据?

4

1 回答 1

1

如果数据库很小,您可以将其保存在 RoamingFolder 中,让 Windows 负责将其复制到其他系统。

请参阅快速入门:漫游应用程序数据

除了将数据存储在Azure 移动应用服务等云服务中之外,这是最简单、最干净的解决方案。如果需要同时支持联机和脱机方案,Azure 移动服务支持到 SQLite 的脱机同步。

将应用程序数据保存在用户的 OneDrive 或保管箱上,然后明确下载以供使用是可能的,但更困难且更脏,因为数据将对用户可见并且可能被意外删除、移动等。对于个人应用程序,它不是不好,但我不会在生产中这样做。

如果您在系统之间复制数据库(通过漫游或通过数据存储站点),您需要设计一种处理冲突的方法。如果所有内容都保存在单个云数据库中,这会更简单。

于 2015-05-09T23:34:59.657 回答