繁体   English   中英

如何利用“ sql.js”将服务器端sqlite数据库获取到用户端?

[英]How to fetch server-side sqlite database to user-side in order to make use of “sql.js”?

我发现这个名为“ sql.js”的工具可以直接从javascript访问sqlite数据库。 但是要使用它,用户端必须首先具有sqlite数据库文件。 在我的情况下,数据库维护在服务器端。 所以这是我的问题:如何将sqlite数据库文件从服务器端移到用户端javascript,以便用户端可以使用此“ sql.js”来访问数据库? 是否可以在Ajax调用中进行? 任何示例代码将不胜感激!

认为在提出问题时未添加文档中的以下示例

<script src='js/sql.js'></script>
<script>
var xhr = new XMLHttpRequest();
xhr.open('GET', '/path/to/database.sqlite', true);
xhr.responseType = 'arraybuffer';

xhr.onload = function(e) {
  var uInt8Array = new Uint8Array(this.response);
  var db = new SQL.Database(uInt8Array);
  var contents = db.exec("SELECT * FROM my_table");
  // contents is now [{columns:['col1','col2',...], values:[[first row], [second row], ...]}]
};
  xhr.send();
</script>

请记住,如果您的数据库很大,则SQL.js可能不合适。

(部分原因是您必须将数据库传输给用户,部分原因是SQL.js占用大量内存 ,因此无论如何您最好在服务器上运行查询。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM