如何计算 sqlite 数据库中打开的连接数?

Posted

技术标签:

【中文标题】如何计算 sqlite 数据库中打开的连接数?【英文标题】:How can I count the number of open connections in an sqlite database? 【发布时间】:2012-08-27 08:04:00 【问题描述】:

我想计算一个 sqlite 数据库中打开的连接数。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

根据邮件列表上的theseposts,无法通过代码或数据库本身检查打开的连接数。没有 API。

根据this post,如果您在POSIX类型系统上运行,您可以使用lsof命令来统计打开数据库的进程数。

如果您使用的是 Windows,则可以使用Process Explorer 来计算连接数,步骤如下:

    在进程资源管理器中单击“查找”-> 查找句柄或 DLL... 输入您的 sqlite 数据库的名称,然后点击“搜索”(或按 Enter) 在结果窗口中,单击您的数据库。它将在 Process Explorer 主窗口中突出显示为“文件”。 返回主窗口,右键单击您的数据库文件并单击“属性” 您现在可以查看引用和句柄的数量

【讨论】:

这已经开了几天了。现在接受我自己的答案,但我绝对愿意接受其他建议。 这是一个方便的提示。谢谢。【参考方案2】:

lsof 这样的打开文件监视器可以做到这一点

lsof dbName.sql

会给你连接列表

OpenerName 6158 User   39u   REG    1,2    20480 20397113 dbName.sql

【讨论】:

以上是关于如何计算 sqlite 数据库中打开的连接数?的主要内容,如果未能解决你的问题,请参考以下文章

如何计算打开的数据库连接?

计算 Phoenix 应用程序中打开的套接字和通道连接数

MFC中,如何连接sqlite3的数据库,并对此数据库操作??

SQLite的原子提交--单文件场景

java + sqlite:如何以只读方式打开数据库?

Navicat怎么连接Sqlite数据库