有没有办法从sqlite3对象获取数据库位置?

问题描述 投票:0回答:4

我的应用程序中漂浮着一堆 sqlite 数据库(不要问),我需要能够获取数据库的文件位置。有没有办法通过使用 sqlite3 对象来做到这一点? (即创建数据库时不必将路径与数据库一起存储)

额外问题:如果有多个数据库附加到 sqlite3 对象,我如何获取其他数据库(它们已附加)?

谢谢!

c++ c sqlite
4个回答
6
投票

API函数:

sqlite3_db_filename


0
投票

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

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

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


0
投票

这对我有用

SELECT file  FROM pragma_database_list  WHERE name = 'main'; 


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.