如何在Phonegap上连接在线数据库与sqlite?

3

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

非常感谢。


你是想要用服务器上的数据库替换本地数据库的内容吗?还是现在想要停止使用本地数据库,始终使用远程服务器上的数据库?此外,这个数据库是全局数据-对所有客户端只读,还是存储每个用户的数据? - Ryan Watkins
4个回答

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

2
如果我理解正确,您希望使用当前处理数据库访问的逻辑来连接到远程SQLite数据库。
我认为这种用例不能直接实现。Cordova使用内置于iOS和Android中的WebSQL支持(或提供自己兼容的实现)。
您有至少2种解决方案:
1. 创建一个服务,允许访问远程数据库,然后创建客户端同步服务,将其在客户端和服务器上同步。这样您就会拥有完全的离线支持,并且数据将备份在服务器上。
2. 编写自己的Cordova插件,允许访问远程SQLite数据库但使用WebSQL接口。我猜您可以重用大部分iOS WebSQL实现的当前逻辑,但是不要访问设备上的本地SQLite文件,而是使用服务器上的数据库。

2

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


好主意。该插件唯一的缺点是它仅适用于 iOS,而且具有略微不同的 API。Phonegap-SQLitePlugin - MeTTeO
有iOS和Android版本,我认为(至少Android版本)尝试坚持WebSQL/Phonegap API。但是,可能需要更多的工作...(当其他人必须做正确时,总是需要更多的工作?) - dda

1

你也可以用这种方法来实现。在服务器上创建一个XML文件数据库,然后解析它,通过读取XML文件的内容来对现有的数据库进行更改。


但是 PhoneGap 的使用在哪里呢? - Sana Joseph
你能否提供更多细节,因为你想要达成的确切目标并不清楚,请按照Ryan在评论中提到的要求提供更多细节。如果数据库结构将保持相同,则可以使用我提到的XML方式,检查新记录或者甚至刷新整个数据库,你也可以通过这种方式实现你的目标。 - Neji

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接