Sqlite 如果我保持与数据库的连接,是否必须装入文件系统?
我正在使用sqlite访问我的数据库,并且我一直保持连接打开Sqlite 如果我保持与数据库的连接,是否必须装入文件系统?,sqlite,filesystems,database-connection,Sqlite,Filesystems,Database Connection,我正在使用sqlite访问我的数据库,并且我一直保持连接打开 我收到了卸载存储数据库的磁盘的新请求。问题是,我必须关闭连接吗?或者仅仅关闭数据库就足够了吗?这取决于您使用的框架。对于SQLite本身来说,关闭数据库就足够了。只需确保完成所有事务,然后再这样做 我想您正在使用一些框架,因为SQLite本身没有断开连接的特性或方法。它只有一个close方法,如果您在框架中关闭或断开连接,它可能会自动调用 当然,SQLite是一个基于文件的数据库。因此,无论如何,没有“连接”这样的东西。这取决于您使用
我收到了卸载存储数据库的磁盘的新请求。问题是,我必须关闭连接吗?或者仅仅关闭数据库就足够了吗?这取决于您使用的框架。对于SQLite本身来说,关闭数据库就足够了。只需确保完成所有事务,然后再这样做 我想您正在使用一些框架,因为SQLite本身没有断开连接的特性或方法。它只有一个close方法,如果您在框架中关闭或断开连接,它可能会自动调用
当然,SQLite是一个基于文件的数据库。因此,无论如何,没有“连接”这样的东西。这取决于您使用的框架。对于SQLite本身来说,关闭数据库就足够了。只需确保完成所有事务,然后再这样做 我想您正在使用一些框架,因为SQLite本身没有断开连接的特性或方法。它只有一个close方法,如果您在框架中关闭或断开连接,它可能会自动调用
当然,SQLite是一个基于文件的数据库。因此,无论如何,没有“连接”这样的东西。SQLite的连接对应于一个打开的文件(或者更多,如果有一个事务日志打开;当我在这里尝试并使用
lsof
进行探测时,我会打开另外两个FD,一个用于日志,另一个用于包含目录)因此,当与数据库的任何连接打开时,您不能卸载文件系统;操作系统会拒绝并告诉您它正忙。卸载承载数据库的文件系统的唯一方法是首先关闭与数据库的所有连接。SQLite的连接对应于打开的文件(或者更多,如果有一个事务日志打开;当我在这里尝试并使用lsof
进行探测时,我会打开另外两个FD,一个用于日志,另一个用于包含目录)因此,当与数据库的任何连接打开时,您无法卸载文件系统;操作系统将拒绝并告诉您该文件系统正忙。卸载承载数据库的文件系统的唯一方法是首先关闭与数据库的所有连接