首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Javascript在浏览器中直接读取Sqlite3的最好方法是什么?

使用Javascript在浏览器中直接读取Sqlite3的最好方法是什么?
EN

Stack Overflow用户
提问于 2013-02-08 10:21:23
回答 2查看 20.5K关注 0票数 27

对于我们的一个洞察平台,我们计划在后台生成摘要SQLite3数据库,并让它以图表的形式呈现在浏览器上。目前,我们打算提供一个服务于数据需求的服务器端端点。

我们希望通过完全消除服务器端端点来进一步优化这一点。我们可以(从安全的角度)直接在S3上公开SQLite3,并让javascript模块读取和生成图表。

SQLite3文件预计会相当小--可能是4-6列,可能是10-500行数据,而且所有这些数据都只包含一个表。测试运行表明文件大小小于15KB。我们不打算在浏览器上编写或操作SQLite3。我们不需要在浏览器上以WebSQL或IndexedDB表单的形式缓存它,但如果需要的话,我们可以使用它们。

从我的网络搜索中,我们找不到可以读取SQLite3文件并查询结果的Javascript库。如果你知道有什么javascript库可以做到这一点,请让我们知道。

另一方面,如果你认为无论出于什么原因,我们都不应该这样做,那么也请把它们作为评论/答案,因为这是我们第一次尝试的东西,看起来有点开箱即用,所以欢迎反馈!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-08 15:18:04

我不能说最好的,但有一个:自己写一个JavaScript SQLite阅读器库。这将是一个单调乏味的任务,但我相信它是可以完成的。一些很酷的人做了pdf.js,它是一个JavaScript文件的渲染器,也是像SQLite files一样的二进制BLOB。

您很可能会从遍历SQLite文件的FileReader API开始,然后创建一些内存中的内容表示形式,供图表工具使用。

免责声明:您可能希望使用其他人提出的另一种解决方案来解决最初的问题,但这回答了您的问题。

票数 2
EN

Stack Overflow用户

发布于 2014-05-27 07:44:12

有一个名为sql.js的javascript库,它可以做你想做的事情。在您的例子中,您可以这样使用它

代码语言:javascript
运行
复制
const SQL = await initSqlJs(options);
const fetched = await fetch("/path/to/database.sqlite");
const buf = await fetched.arrayBuffer();
const db = new SQL.Database(new Uint8Array(buf));
const contents = db.exec("SELECT * FROM my_table");
// contents is now [{columns:['col1','col2',...], values:[[first row], [second row], ...]}]

请参阅sql-js.github.io/sql.js/documentation/上的文档

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14764707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档