sqlite - 同时访问 Sqlite 数据库

标签 sqlite

我正在使用 Visual C++ 编写一个小应用程序,该应用程序将调用 SQLite C 接口(interface)来创建数据库并将一些数据插入其中。

在调试应用程序时,我想检查数据库中的数据。因此,我从命令行启动 sqlite3 shell(sqlite3.exe),然后使用以下命令打开数据库:

.open 文件名

此后,我想检查我的应用程序创建的表,但总是得到“表不存在”错误。

然后我使用“select * from sqlite_master;”但仍然返回空结果。

我进行了更多测试,如下所示:

  • 尝试使用 --readonly 选项再次打开数据库,如下所示:

  • .open --readonly 文件名;
  • 打开数据库后,我尝试使用这样的命令:

  • 从 sqlite_master 中选择 *;

    然后我会看到“数据库被锁定”错误。我尝试在 Stackoverflow 上搜索解决方案,所有解决方案都只是建议关闭正在访问数据库的其他应用程序。但是,我需要的只是让应用程序仍然可以访问数据库,同时我仍然可以查看(而不是修改)sqlite数据库中的内容,这可能吗?

    因此,我只是想知道我是否可以通过 sqlite3.exe shell 同时访问已经被另一个程序打开的 sqlite 数据库?
    目前只有我的应用会写入数据库,sqlite3 shell只需要读取数据库中的数据。

    最佳答案

    您好,您可以使用“用于 SQlite 的数据库浏览器”。使用此工具,您可以轻松创建 sqlite 数据库并插入行。您还可以查看插入的数据。

    关于sqlite - 同时访问 Sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52638283/

    相关文章:

    python - 创建具有 REAL 值(包括 UNIQUE 约束)的 SQLITE 表的最佳方法是什么?

    sql - 在SQLite中选择具有未读图书最大百分比的作者

    python - 防止多个约束sqlite3 python的重复

    java - Android:SQLite 使用了错误的数据库

    列表变量中的 Python SQL Select 语句?

    sql - 在sql中执行排序操作后获取行的偏移量

    mysql - sql数据库中列值的多表约束

    SQLite 支架 "don' t 工作”

    .net - 有人在 SharpDevelop 中使用 System.Data.SQLite 吗?

    java - 将大型数组缓存到 SQLite - Java/Android