【问题标题】:How to connect sqlite with an online database on Phonegap如何将 sqlite 与 Phonegap 上的在线数据库连接
【发布时间】:2012-05-20 20:37:40
【问题描述】:

我在 IOS5 上使用 phonegap[cordova 1.7.0] sqlite 创建了一个数据库。 但是我现在想用我已经在在线服务器上的一个数据库来切换这个数据库。 有什么方法可以做到这一点吗?

非常感谢。

【问题讨论】:

  • 您是否尝试将本地数据库的内容替换为服务器上的内容?或者您现在是否希望停止使用本地数据库并始终在远程服务器上使用一个?数据库是全局数据——对所有客户端只读,还是存储每个用户的数据?

标签: ios database sqlite cordova


【解决方案1】:

如果我理解正确,您想使用您当前的逻辑来处理数据库访问以连接到远程 sqlite 数据库。

我认为这样的用例不可能开箱即用。 Cordova 正在使用对内置于 iOS 和 Android 的 WebSQL 的支持(或提供自己的兼容实现)。

您的问题至少有两种解决方案:

  1. 创建允许访问远程数据库的服务,然后创建同步客户端和服务器上的客户端同步服务。这样,您将获得完整的离线支持,并且数据将备份到服务器上。

  2. 编写您自己的 Cordova 插件,该插件允许访问远程 sqlite 数据库,但使用 WebSQL 接口。我想您可以重用 iOS WebSQL 实现中的大部分当前逻辑,但不要访问设备上的本地 sqlite 文件,而是使用服务器上的数据库。

【讨论】:

    【解决方案2】:

    编写一个提供对数据库的访问的服务器端应用程序。

    【讨论】:

      【解决方案3】:

      Phonegap 有一个 sqlite 插件。如果在线 sqlite 是(半)公开可用/可下载的,您可以让 Phonegap 下载 db 文件(我认为有一个下载插件),并让您的自定义 sqlite 插件使用此 db。

      【讨论】:

      • 好主意。该插件的唯一缺点是它仅适用于 iOS,并且有一点不同的 api。 Phonegap-SQLitePlugin
      • 有适用于 iOS 和 Android 的版本,我认为(至少 Android 版本有)尝试坚持使用 WebSQL/Phonegap API。但是,是的,这可能需要多做一点工作......(当其他人必须做正确的事情时,总要多做一点工作?)
      【解决方案4】:

      您也可以通过这种方式进行操作。在服务器上创建一个 XML 文件 dbase 并对其进行解析,然后您可以通过读取 xml 文件内容来更改现有数据库。

      【讨论】:

      • 但是电话间隙的使用在哪里?
      • 那么您能否提供更多详细信息,因为我们不清楚您到底想要实现什么,请提供 ryan 在他的评论中提到的更多详细信息。好吧,如果数据库结构是相同的,那么您可以使用我提到的 xml,检查新记录,或者如果您愿意,甚至可以刷新整个 dbase。好吧,您也可以通过这种方式实现目标。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 2012-04-19
      • 2017-01-06
      • 1970-01-01
      相关资源
      最近更新 更多