SQLite and JayData

3

是否有可能在HTML 5 CSS JS页面中直接使用JayData读取SQLite数据库?而不需要使用PHP或ASP.NET引擎?

编辑: http://jaydata.org/


1
JayData 是什么,它提供了哪些设施,可以在任何上下文中从数据库中读取数据? - Jon Cram
它提供了一个与提供程序无关的数据访问层,具有JavaScript语言查询和JavaScript CRUD功能。您可以发出相同的语句来查询或存储数据,而不管其来源是本地的webSql还是远程的YQL表。 - Peter Aron Zentai
3个回答

2
由于它声称支持webSQL(就在主页的顶部)... JayData是JavaScript开发人员的统一数据访问库,可从不同来源(如webSQL、indexedDB、OData、Facebook或YQL)查询和更新数据。是的(因为所有已知的webSQL实现都在幕后使用SQLite...这就是为什么W3C建议停止工作的原因)。尽管应该注意的是,webSQL在浏览器中运行,不是存储在服务器上的共享数据库。直接将数据库服务器暴露给WWW通常是非常糟糕的想法™,而SQLite是一个普通的文件数据库,而不是带有服务器的数据库,因此需要直接向WWW提供对服务器文件系统的访问权限,这超出了疯狂的范畴。

由于我需要离线访问,所以我将使用SQLite,但我会将离线数据库降级以仅获取所需数据。 - Lunatikzx
它们并不替代浏览器对sqlite的支持,只是使用它而已...你需要找到另一个解决方案。 - Lunatikzx
1
@PeterAronZentai — 我认为问题的意思可能是“我可以使用jaydata在不支持WebSQL的浏览器上创建客户端数据库吗?” - Quentin
@Quentin 谢谢,你说得很对。(有时候我用英语表达不清楚,抱歉) - Lunatikzx

1
在浏览器中,HTML页面无法访问本地数据库,因为它无法访问本地文件系统。如果您想要从HTML页面打开一个sqLite数据库文件,您必须将HTML5应用程序嵌入到原生外壳中,例如phonegap。通过这种方式,您可以使用JavaScript从HTML页面处理JayData的sqLite数据库。

1
有一种替代方法:让您的JavaScript代码在nodeJS中执行。这样,您就可以访问任意的sqLite文件。这可以在客户端上完成,但是您需要部署nodeJS的要求。这是否是您可以采取的方法? - Peter Aron Zentai
我没有关于NodeJS的任何知识。使用NodeJS构建一个应用程序并在客户端桌面上安装它是否可行? - Lunatikzx
是的,但如果你对这项技术不熟悉,它可能会带来新的问题因素... 它会在本地创建一个Web服务器,比如127.0.0.1:1234,你仍然需要在exe中嵌入一个WebBrowser控件来与其通信。所以这是可行的,但并不简单。 - Peter Aron Zentai
1
另一种方法可能是创建一个被标记为“离线应用程序”的Web应用程序,并使用缓存清单。这样,在第一次使用后(必须从网络进行,比如安装),该应用程序可以在桌面上使用Chrome或Safari浏览器而无需联网。您可以使用应用程序构建自己的sqLite数据库(不能重复使用现有的)。您能接受这种方式吗? - Peter Aron Zentai
它回答了关于重用现有数据库的问题...谢谢 - Lunatikzx

1

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