停止上传你的 DB!使用 WASM 在本地 100% 查看 SQLite 文件

发布: (2025年12月23日 GMT+8 09:50)
3 min read
原文: Dev.to

Source: Dev.to

问题

“请上传你的 .db 文件” … 呃,不行。

上周我需要调试用户本地 SQLite 数据库中的一个奇怪问题。用户(已授权)把 .db 文件发给我。我只需要快速运行一条查询,例如:

SELECT * FROM users WHERE id = …;

我不想启动完整的 DBeaver 实例或写一个 Python 脚本来进行 30 秒的检查,于是搜索了 “Online SQLite Viewer”。所有结果都要求把文件上传到服务器:

  • “上传你的文件以查看!”
  • “服务器处理中…”
  • “等待上传…”

这对生产数据来说是不可接受的。即使承诺会删除文件,我也不能冒着泄露用户数据库的风险。我在想,为什么在 2025 年查看本地文件仍然需要服务器往返,而浏览器已经可以运行复杂工作负载(例如 Doom)?答案是:其实不需要。

解决方案

我构建了一个完全在客户端运行的 SQLite 查看器,文件永远不会被上传。浏览器将文件读取到内存中,并直接把缓冲区传递给 WebAssembly(WASM)SQLite 引擎。

技术栈

  • Nuxt 3 – 提供流畅的开发体验和自动导入。
  • Tailwind CSS – 无需与 CSS 斗争即可美化界面。
  • sqlite‑wasm – 官方的 SQLite WebAssembly 构建,在浏览器中提供完整的 SQLite 引擎。

与众不同之处

  • 无需上传 – 当你 “打开” 文件时,浏览器在本地读取文件缓冲区并喂给 WASM 实例。打开 Network 面板可以看到没有任何请求发送你的数据库文件。
  • 离线可用 – 页面加载后关闭 Wi‑Fi,查看器仍然可以工作,因为所有操作都在本地完成。
  • 完整的 SQLite 支持 – 你可以执行标准 SQLite 引擎支持的任何查询。

功能

在浏览器中直接运行任意 SQL 查询,例如:

SELECT *
FROM orders
WHERE total > 100
ORDER BY created_at DESC;

查看器能够处理大文件(已在 500 MiB 左右的文件上舒适测试;更大的文件取决于可用内存)。

试用

该工具免费、开源,且不含广告或追踪。
尝试离线 SQLite 查看器(链接即将上线)。

欢迎告诉我你的使用体验——尤其是 1 GB 以上的文件!祝你编码安全愉快! 🔒

Back to Blog

相关文章

阅读更多 »

大家早上好,现在我有 WASM。

大家好,我是zayoka。几天前,我在 Hacker News 上发布了关于这个项目的帖子,因为在标题中提到使用了 WASM 而受到合理的抨击,但……