【问题标题】:Database file export is empty数据库文件导出为空
【发布时间】:2021-11-21 15:13:39
【问题描述】:

我已经使用应用程序向数据库添加了一些数据。但是当我尝试使用设备文件资源管理器导出数据库文件时。我发现它是空的,但应用程序可以读取它们。我已经同步了文件,但还是不行。

【问题讨论】:

  • 没有minimal reproducible example 很难为您提供帮助。请记住,Room 默认使用 SQLite 中的预写日志记录 (WAL)。所以,要么在复制之前关闭你的数据库,要么确保复制所有文件,包括那些带有奇怪后缀的文件,如-wal
  • 非常感谢!我试试

标签: android android-room


【解决方案1】:

数据库中可能有 3 个文件,一个以 -wal 为后缀,另一个以 -shm 为后缀。复制所有三个文件(或至少复制数据库和 -wal 文件)。

-wal 文件,如果它不为空,将包含等待应用到数据库的更改。 -shm文件是-wal文件的wal文件,不太重要。

WAL 代表预写日志,您可以在 https://sqlite.org/wal.html 了解更多信息

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2017-07-27
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多