标签: sqlite-journal-mode

Android:使用空间创建的SQLite数据库在使用sqlte-browser打开时不显示任何表

我正在使用Room Persistence Library 1.1.0.我可以/data/data/<package_name>/databases/使用Android Studio的Device File Explorer 找到数据库文件.它包含多个表,我可以使用room-DAOs 访问该表的内容而没有任何问题.但是打开时sqlite-browser,显示没有表格.

可能是什么原因?是否有可能解决这个问题,而无需切换回旧SQLiteOpenHelper/data/data/<package_name>/databases/

sqlite android sqlite-browser android-room sqlite-journal-mode

16
推荐指数
2
解决办法
4797
查看次数

SQLite DB中的-shm和-wal文件

我在运行wal_checkpoint(FULL)后使用cp commmand来备份SQLite DB.DB正在WAL模式下使用,因此我的文件夹中还有其他文件,如-shm和-wal.当我运行wal_checkpoint(FULL)时,WAL文件中的更改将提交到数据库.我想知道运行检查点后-wal和-shm文件是否被删除了.如果没有,那么它们包含什么?

我知道我的备份过程不好,因为我没有使用SQLite备份API.这是我的代码中的一个错误.

任何人都可以建议运行检查点后-shm和-wal文件包含哪些内容.

提供的任何链接都会有所帮助.

谢谢

c unix sqlite sqlite-journal-mode

13
推荐指数
2
解决办法
2万
查看次数

如何更改数据库日志模式

当我在我的应用程序上创建一个数据库时,我有这个错误:

无法将'/ data/data/example/databases/exemple'的数据库日志模式从'wal'更改为'PERSIST',因为数据库已被锁定.这通常意味着存在与数据库的其他打开连接,这会阻止数据库启用或禁用预写日志记录模式.继续操作而不更改日记帐模式.

我不知道解决方案,你能帮帮我吗?

sqlite android sqlite-journal-mode

8
推荐指数
0
解决办法
1028
查看次数

System.data.sqlite - 激活WAL日志模式

我在我的vb.net程序中使用System.data.sqlite.dll.而对于我的生活,我无法弄清楚激活WAL模式的代码.

在创建数据库或每个新的SQLiteConnection后立即激活此命令.

如果是这样,现在需要使用什么代码我使用类似的东西:

cnn As New SQLiteConnection(String.Format("Data Source={0}\{1};PRAGMA jounal_mode=WAL;", Application.StartupPath, DBName))
Run Code Online (Sandbox Code Playgroud)

这是PRAGMA命令应该如何使用?

vb.net sqlite system.data.sqlite sqlite-journal-mode

7
推荐指数
1
解决办法
6048
查看次数

在 SQLite 中为 Entity Framework Core 代码优先设置日志模式

我在实体框架上使用 DBContext,使用本教程中的过程来创建数据库。

public class BloggingContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Filename=blog.db");
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用以下内容保存:

using (var context = new BloggingContext())
{
    context.Add(blog);
    await context.SaveChangesAsync();
}
Run Code Online (Sandbox Code Playgroud)

我将如何将日志模式设置为 WAL 之类的东西?

c# sqlite entity-framework-core sqlite-journal-mode

5
推荐指数
1
解决办法
2497
查看次数

如何在 C# 中更改 Sqlite 数据库的“journal_mode”

按照 Sqlite 的PRAGMA的说明,我发现PRAGMA schema.journal_mode;改变了 journal_mode 并给出了我选择的选项off来提高插入功能的性能。我写:

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;PRAGMA Schema.journal_mode=off;");
Run Code Online (Sandbox Code Playgroud)

它打开一个名为的数据库MyDatabase.sqlite和命令

PRAGMA Schema.journal_mode=off;
Run Code Online (Sandbox Code Playgroud)

最后写的,我相信关闭了sqlite数据库的日志,但我不知道如何去做,如果这是正确的方法,那么我做错了什么,因为我看不到任何变化添加 PRAGMA 命令后的性能。

我从Tigran's Blog Post on Sqlite 中引用的链接下载了 Sqlite 库

c# sqlite insert sqlite-journal-mode

5
推荐指数
1
解决办法
3556
查看次数

clearAllTables不起作用

Android Room的方法无效clearAllTables(),根据文档,它可以进行以下操作:

从所有表中删除所有记录为的行entities()

这不会重置由生成的自动增量值autoGenerate()

删除行后,Room将设置一个WAL检查点并运行VACUUM。这意味着数据被完全擦除。如果该空间超过数据库文件大小的阈值,则系统将回收该空间。

我在项目中对其进行了检查,发现该调用之后db似乎没有数据,但是当我从设备中提取* .db文件并在sqlite查看器中将其打开时,我已经看到所有数据都存在,表已被填充并且什么都没有已被删除。怎么可能?我认为这是我应用程序中的潜在缺陷。请提供洁净室数据库的可靠方法

android android-sqlite android-room android-architecture-components sqlite-journal-mode

5
推荐指数
1
解决办法
924
查看次数

可以在事务期间检查 WAL 文件吗?

我们正在 SQLite 数据库上执行相当大的事务,这导致 WAL 文件变得非常大。(对于大型事务,有时高达 1GB。)有没有办法在事务过程中检查 WAL 文件?当我尝试调用sqlite3_wal_checkpoint()或执行 WAL 检查点 PRAGMA 语句时,两者都返回 SQLITE_BUSY。

c database memory sqlite sqlite-journal-mode

2
推荐指数
1
解决办法
1358
查看次数