通过Objective-C查询存储在Web服务器上的SQLite数据库?

时间:2013-01-11 06:17:34

标签: objective-c sqlite webserver

我正在使用Mac OS和iOS上的版本设计应用程序,并且我希望一些数据保持同步。我能想到的最简单的方法是将我的数据存储在每个设备本地的SQLite数据库中,将相同的数据库存储在Web服务器上,然后在每个表上运行一些查询以同步本地数据库和远程数据库。

我遗漏的唯一一个难题是查询存储在网络服务器上的远程SQLite数据库。理想情况下,我希望通过Objective-C来实现,而不是将数据封送到Python或JS之类的Web语言中,也不需要在Web服务器上放置任何其他文件,例如服务器端脚本。我真的很喜欢在网络服务器上打开数据库并通过ObjC查询它的能力。

这可行吗?有人有主意吗?提前谢谢......

1 个答案:

答案 0 :(得分:2)

SQLite基本上是一个将数据库保存在单个文件中的C库。由于这种紧凑性,它已成为iOS和Mac(CoreData)上的存储标准。

因为它将此作为设计目标(与Oragle或MySQL等多用户,分布式数据库相对),所以无法通过Web获取数据库内容。 SQLite lib需要将其作为本地文件打开。

您有以下选择:

  • 在您的服务器上有一个MySQL数据库和一个Web API(通过像stackmob这样的服务或自己编程)
  • 使用iCloud
  • 使用基于文件的同步形式(例如Dropbox或WebDAV)来继续移动实际的SQLite文件
  • 混合表单:将事务放入您在每个设备上同步和前滚的文件

同步很难。我只想和iCloud一起去。