是否有一种方法可以从sqlite3对象获得数据库位置

Is there a way to get the database location from a sqlite3 object?

本文关键字:对象 sqlite3 位置 数据库 方法 一种 是否      更新时间:2023-10-16

我有一堆sqlite数据库的浮动在我的应用程序(不要问),我需要能够得到dbs的文件位置。是否有任何方法通过使用sqlite3对象做到这一点?(即在创建db时不必将路径存储在db旁边)

附加问题:如果有一个以上的数据库附加到sqlite3对象,我如何得到其他的,以及(他们是附加的)?

谢谢!

API函数:sqlite3_db_filename

sqlite3应该是不透明的结构,但检查SQLite头,也许你会发现一些未记录的字段,其中包含到数据库的路径。

即使您找到了这样的字段,使用它也是一个坏主意,迟早会导致维护问题。

为什么首先需要保留数据库的路径和句柄?

使用filemon/processmon来监控你的应用程序/进程正在访问哪些文件。您将找到您的SQLite文件。