我想在浏览器中打开的USB记忆棒上建立某种网站。 HTML文件应该能够使用javascript读取同一文件夹中的(sql-)数据库。这对我来说是一个小应用程序。这些是我的文件:
USB stick:
-- start.html
-- database.sql
HTML5提供“本地存储”,效果很好。但是使用这种方法,我无法访问棒上已有的本地数据库。浏览器创建一个单独的,emtpy数据库,并将其保存在棒上。我不需要编写数据集。
是否有不同的方法来读取数据库?谢谢!
答案 0 :(得分:1)
您可以使用sql.js,这是一个转换为JavaScript的SQLite。您必须提供自己的导入/导出功能,当然,您无法导出到JS中的文件系统,但由于您只打算阅读,这不会是一个问题。
答案 1 :(得分:0)
您无法让Web浏览器运行SQL查询。您可以做的最好的事情是使用本地文件中的ajax加载数据。但是,无法将更新的数据库保存到本地文件系统。
你可以让javascript读取逗号分隔数据,或者数据可以存储在xml或json中。
如果您希望保存数据,我相信需要桌面应用程序
答案 2 :(得分:0)
如果它只是用于阅读,则可以使用javascript读取和解析文件。但我不会使用SQL文件,而是使用包含JSON的文件。我认为没有可以读取SQL的JavaScript库,编写一个也不是一件容易的事。
请注意,即使你设法找到一个,所有文件的内容都将被读入内存,并且无法写入文件。
由于您需要本地运行的数据库应用程序,我非常诚恳地建议您不要使用HTML和Javascript,而是使用Java或任何可以读取数据库并执行适当内存管理的本机语言。如果你愿意,你可以坚持使用HTML / JS for GUI,但是你可能会发现将HTML完全放在一边很容易。
你现在想要的,非常罕见。数据库应用程序往往有后端,网站往往不会从USB记忆棒运行。
答案 3 :(得分:0)
问题是本地存储是浏览器运行的系统的本地存储,因为它是浏览器的本地存储,而不是文件来源的位置。
这意味着您必须将数据传送到浏览器,以便在本地存储数据。现在你的数据就在你的手杖上。
您有几个选择: 1.将数据传送到浏览器以通过javascript创建本地存储数据库。 2.使用Rob W的答案并提供便携式浏览器(好主意Rob!)
我没有假设数据是如何存储在.sql文件中的。如果它实际上是SQL,那你就不走运了。 Localstorage不是sql数据库。
关于HTML5中本地存储基础知识的好文章 http://diveintohtml5.info/storage.html