[demo] 用 Emacs 作为 Database 客户端

闲来无事,写了一个小db demo, 虽然实际上可能也没什么用处。但是展示了websocket-bridge 的一种可能性:

把 Emacs 作为一个任何数据展示型外部应用的客户端

例如:websocket-bridge-database

通过websocket-bridge python 代码可以连接任何的DB, Emacs 把SQL 传给 python 代码,python 查询完之后展示给Emacs 通过 ctable 展示。

如果结合 GitHub - joe-re/sql-language-server: SQL Language Server (并未使用过)+ lsp-bridge 或许可以很好用。

暂时还没有提交代码。先讨论讨论看看是否靠谱。收集一下大家的想法。

websocket-bridge-database

2 个赞

ejc-sql 很好用,我用了几年了

看起来很不错耶,似乎很强大。好像之前我也看到过。当时我水平不足,没有配置成功放弃了。 :rofl:

这个的想法很相似,使用clojure写的

1 个赞

数据大了,全部输出估计会把emacs flush挂。

不需要全部输出。人眼能处理的数据有限,输出个几十条就可以了。

我一直使用 org mode 下面的 Jupyter python block + sqlalchemy 来连接数据库和分析数据,除了非异步以外很好用。

我也做过,后面是因为数据库有大量json格式的数据,就一行文本但几百kb,卡死org-mode 就没有继续了, 还发过一贴

这倒是个问题,现在很多数据据设计,都会用一个大json存储config信息。但你这几百k也太大了吧。

那估计,用外部程序访问jdbc的方案,可以勉强应对,如果某个字段太大了,就返回前n个字符。等需要查询单个字段的详情时才返回给 Emacs 完整信息。

是爬虫,一个请求,对方网站后端非要返回那么大的数据,控制不了。查询的就是单个字段的详情,只返回前n字符并不行,格式化json后在显示是个解决办法,但格式化json后还是有超长行。

是 emacs org-mode中显示超长行文本会卡的问题。