数据库磁盘映像格式错误或文件已加密或不是数据库

2024-01-07

我需要将没有“Root”的手机上的数据库复制到pad上。所以我也采用了像其他人一样的方法:首先将/data/data/../databases/test.db复制到/sdcard。然后我使用在我的电脑或我朋友的电脑上使用adb shell sqlite3命令,出现一些问题: 1)有时,它可以成功打开 2)有时,它显示“文件已加密或不是数据库” 3)有时,它显示“数据库磁盘映像格式错误”

注意:sqlite3版本不同。

“文件已加密或不是数据库”的根本原因是版本问题,是吗?

“数据库磁盘映像格式错误”的根本原因是什么?我在互联网上搜索了一些有关它的信息,但我仍然无法修复它。

Thanks!

编辑1:测试手机是HTC HD 编辑2:我这个线程:http://groups.google.com/group/android-developers/browse_thread/thread/2b8a8fa9b955eecd/0615c6111d93ea02?lnk=raot http://groups.google.com/group/android-developers/browse_thread/thread/2b8a8fa9b955eecd/0615c6111d93ea02?lnk=raot有消息称:我强烈建议您不要这样做。有 不保证二进制数据库文件跨平台兼容 Android 版本,更不用说所有自定义 ROM 了。

看来“数据库磁盘映像格式错误”的根本原因是Sqlite3版本。但是如何将数据库备份到SD卡是最好的方法呢?还有其他方法吗?

Edit 3: link 1 https://stackoverflow.com/questions/10342535/issue-file-is-encrypted-or-is-not-a-database-opening-a-sqlite-file-in-some-and link 2 https://stackoverflow.com/questions/6444170/sqlite3-wal-databaseerror-file-is-encrypted-or-is-not-a-database link 3 https://stackoverflow.com/questions/4718934/sqlite-issues-with-htc-desire-hd


我的直觉是认为数据库文件在传输过程中以某种方式损坏。根据我的经验,如果数据库文件损坏,那就完了。

您应该使用以下命令验证源和目标上的数据库文件都没有损坏遵循编译指示 http://www.sqlite.org/pragma.html#pragma_integrity_check:

PRAGMA integrity_check; 

如果一切顺利,结果集是带有值的单列记录ok.

需要明确的是,对于以下三种情况中的任何一种,您的数据库几乎已损坏且无法使用:

  • sqlite3 甚至不会打开数据库文件并返回一些错误
  • sqlite3将打开数据库文件,但在运行某些语句时返回一些错误
  • sqlite3将打开数据库文件,但是pragma integrity_check不回来ok

由于您的源和目标似乎都使用 sqlite 3.x.y.z,因此文件格式不应该是一个问题(有一些例外,但我怀疑它们中的任何一个都是您痛苦的根源)。

您可能想要做的另一件事是验证文件在源和目标处是否相同。您可以比较它们的哈希值(md5、sha1 或其他)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库磁盘映像格式错误或文件已加密或不是数据库 的相关文章

  • 如何在 JRuby 中初始化 SQLite3 JDBC 驱动程序?

    如何在不使用活动记录的情况下通过 JDBC 访问 SQLite3 下面是一个使用 JRuby 1 6 6 Ruby 1 8 兼容模式 和 jdbc sqlite3 3 7 2 的示例 require rubygems require jdb
  • 如何从一个活动组中的活动导航到android中的另一个活动

    我有两个标签 在这两个选项卡中我有不同的活动组 如何从一个活动组中的一个活动导航到android中的另一个活动 请帮我举出合适的例子 就我而言 我确实喜欢这样 当我单击父组最后一个活动中的完成 提交按钮时 我提交了值 将值存储到服务器 数据
  • 如果相关服务被终止,如何更新小部件?

    我有一个录音应用程序 目前正在为其开发一个小部件 录音是由在前台状态的服务中运行的音频引擎执行的 每当音频引擎状态更改为暂停 播放 录制时 就会发送广播 并由更新小部件的接收器进行处理 这样 单击小部件中的录制按钮就会开始录制 这会导致发送
  • react-native:“adb”未被识别为内部或外部命令、可操作程序或批处理文件

    我是反应原生 Android 应用程序开发的新手 请帮我解决这个问题 我无法运行我的第一个应用程序 收到错误如下adb is not recognized as an internal or external command operabl
  • 在android 2.3.6中如何通过联系人提供程序获取联系人照片?

    我有这个适用于 android 4 的版本 String email是 Gmail 地址 private Uri getPhotoUriFromEmail String email Uri u null String projection
  • 如何获取已发送短信的送达报告?

    In my Application我正在使用发送短信SMS Manager 要检查消息是否已发送 我正在使用Toast 代替Toast我想要得到SMS Delivery Report我正在尝试很多例子 但是 一个流程不显示递送报告 例如当我
  • 无法解析“:app@debug/compileClasspath”的依赖关系:无法解析

    新安装的安卓工作室3 1 3在创建新项目并第一次编译时出现奇怪的依赖关系错误 一个相似的question https stackoverflow com questions 46949622 android studio 3 0 unabl
  • 单击按钮通知时关闭状态栏

    单击通知按钮后如何关闭状态栏 I tried this https stackoverflow com a 15571784 1735077 但我有一个例外 java lang NoSuchMethodException collapse
  • 关于ListView中ViewHolder模式实现优化

    因此 众所周知的 ViewHolder 模式通常看起来像 ListAdapter Override public View getView final int position View convertView final ViewGrou
  • Kotlin 协程的现有 3 函数回调

    我有一个带有具体示例的一般性问题 我想在拍照时使用 Kotlin 协程魔法而不是 Android 中的回调地狱 manager openCamera cameraId object CameraDevice StateCallback ov
  • Android Fragment 后台事务

    我正在开发一个带有片段的应用程序 它有一个 JavaScript 接口 在主 Activity 中调用 并具有片段替换逻辑 当应用程序位于前台时 一切正常 但当应用程序位于后台时 片段事务替换不起作用 当我返回应用程序时 我仍然看到旧片段
  • 什么是运行时绑定?

    根据 Android 开发者指南 Intent 是一个提供运行时绑定独立组件之间 例如两个活动 什么是 运行时绑定 继承创建类型兼容性 它允许超类引用 引用子类的对象 反过来则不然 超类引用 指的是 子类的对象 只能用于 访问继承的和重写的
  • 从处理程序取消 AsyncTask 及其进度条

    我想取消几秒钟后向服务器发送数据的 AsyncTask 我已经设置了 AsyncTask 和处 理程序 但进度对话框仍然旋转 我怎样才能尽快干净地停止AsyncTask 这就是我到目前为止所拥有的 提前致谢 private class As
  • 函数无法解析 Android NDK

    我正在尝试构建 NDK 项目 但遇到错误 这reverse在使用 JNI 和 NDK Android 的项目中无法解析该函数 您可以在附图中看到这一点 我已在路径和符号部分的项目属性中添加了路径 gt 也请参阅屏幕截图 None
  • INSTALL_FAILED_MISSING_SHARED_LIBRARY 没有 google api

    好吧 我一直在浏览 但我最终得到的只是谷歌的 api 我没有在我的应用程序中使用任何来自谷歌的API 我正在编写一个使用 sqlite 浏览器的应用程序 但尚未使用任何其他参考 任何想法 我之前没有开始过这个应用程序 所以现在这是一个非常大
  • 更改 Android 中的配对对话框外观

    我们有一个与 BLE 设备 我们也生产 配对的 Android 应用程序 但默认的 Android 配对对话框存在一些问题 问题是 我们的设备不需要访问联系人或通话记录 是否可以删除该选项 无论是否选中该框 配对和我们的功能都将起作用 但我
  • Android UserManager.isUserAGoat() 的正确用例?

    想要改进这篇文章吗 提供此问题的详细答案 包括引用和解释为什么你的答案是正确的 不够详细的答案可能会被编辑或删除 我正在查看 中引入的新 API安卓4 2 http en wikipedia org wiki Android version
  • 如何使用 Firebase 查询中的信息填充 Android ListView

    这是我的第一篇文章 所以如果我没有遵循我应该遵循的一些协议 我深表歉意 我正在尝试使用 Firebase 数据库中的一些信息填充 ListView 我认为我遇到的问题是对数据库的查询太慢 线程可能正在下载图片 并且我的活动加载其活动布局而不
  • 每个项目有 2 个 TextView 的 Android ListView

    我在网上看到的所有示例每个项目仅包含 1 个 TextView 并且它们从数组加载数据 我不明白如何指定哪些数据去哪里 例如我的项目布局如下所示
  • 渲染期间引发异常:无法找到操作栏的布局

    刚才使用 Android Studio 时 我在编辑器中编辑 XML 文件 在预览和设计窗口中收到此错误 Exception raised during rendering Unable to find the layout for Act

随机推荐

  • ASP.NET MVC:动作过滤器设置控制器变量?

    我有一个场景 对于每个页面请求 我都必须检查会话是否存在特定 ID 如果发现这一点 我必须从数据库中获取相关对象并将其提供给控制器 如果找不到会话 ID 我需要重定向用户 会话已过期 目前 我有一个自定义代码块 几行 它在控制器内的每个操作
  • 防止在插件中创建

    我在服务活动的预创建上注册了一个插件 在插件中 我检查一些条件 如果满足这些条件 我想停止创建服务活动 我想创建另外两个服务活动来代替该服务活动 但我不希望用户收到这一切的通知 有没有办法停止在 CRM 2011 上的插件中创建 SA 记录
  • 如何将 UUID 转换为 base64?

    我想打字UUID并将其输出到Base64编码格式 但是考虑到输入方法Base64并输出UUID如何实现这一点似乎并不明显 update虽然对于我的用例来说不是明确的要求 但最好知道所使用的方法是否使用 UUID 的原始 UUID UUID
  • 使用相同的 docker 映像部署多个 Cloud Run 服务

    有超过 25 个 Cloudrun 服务使用相同的 docker 镜像 来自 GCR 但配置了不同的变量 有什么简单可靠的方法可以使用来自任何类型传入事件的最新容器映像来部署所有服务 目前使用下面的CLI命令来手动执行一一执行 有没有一种自
  • java子类的私有final字段可以在超级构造函数完成之前初始化吗?

    我有一对像这样的课程 public abstract class Class1 public Class1 function2 protected abstract void function2 public class Class2 im
  • mkstemp 的 java 等效项

    Java中有什么方法可以安全地写入临时文件吗 据我所知 创建临时文件 createTempFile 的唯一方法实际上并不同时打开它 因此文件打开和文件写入之间存在竞争条件 我错过了什么吗 我在 UnixFileSystem java 中找不
  • Vaadin 中当前 UI 的访问方法

    我目前正在 Vaadin 开发 Java Web 应用程序 我想从另一个类访问位于我的 LoginUI 中的 getter 方法 UI getCurrent 成功返回当前线程 LoginUI 我需要调用哪些方法来实现此目的 先感谢您 UI
  • 错误:写入失败、打开流失败、pecl 在 mac osx el Capitan 上安装 oauth

    我正在尝试使用 pecl install 在本地安装 OAuth 版本 1 2 3 在 Mac OSX El Capitan 上运行 PHP 5 6 10 在命令提示符中运行以下命令 sudo pecl install oauth 1 2
  • 如何检测 Racket Web 应用程序上的按键?

    我已经浏览了网络服务器的文档 但找不到任何内容 这是我的基本 Web 应用程序的代码 lang racket require web server servlet web server servlet env define test def
  • Mysql - 可视化 Web 开发人员 - 实体框架

    我遇到以下问题 我有 Visual Web Developer 2010 Express 我正在尝试让它与实体框架和 MySQL 数据库一起使用 我安装了 NET Connector for MySql 但它似乎没有与 Web Develo
  • 页面内容显示在侧边栏下方

    我正在创建一个带有侧边栏的 html 布局 但我的标题和内容出现了下我的侧边栏而不是旁边的 container position relative padding 10px top 0px right 0 left 0 height 120
  • 如何使用依赖于变量的模式执行 Javascript 匹配?

    目前的实施Remy Sharp 的 jQuery 标签建议插件 http remysharp com 2007 12 28 jquery tag suggestion 只检查标签开头的匹配项 例如 输入 Photoshop 将不会返回名为
  • CocoaAsyncSocket 的读写委托不触发&代码组织

    我正在尝试使用 cocoaasyncsocket 库附带的 echo 服务器示例的修改版本执行以下操作 1 打开与充当服务器的 python 脚本的连接2 发送数据 有效 但委托不触发3 接收返回数据 委托不会触发4 断开连接 没有断开连接
  • .NET 4 上的 WCF 流式文件传输

    我需要一个关于 WCF 流式文件传输的好例子 我找到了几个并尝试了它们 但是这些帖子很旧 而且我正在 net 4 和 IIS 7 上工作 所以存在一些问题 你能给我一个很好的 最新的例子吗 以下答案详细介绍了使用一些技术将二进制数据发布到静
  • 与后端同步集合更改

    我使用 Backbone js 并且有一组模型 该集合被检索并显示在前端 在前端 我希望用户删除新模型并将其添加到集合中 当用户完成并单击 保存 时 我希望更新整个集合 这意味着当单击 保存 时 集合会同步 以某种方式 添加的模型将被保存
  • Windows 10 中 NVM 的访问被拒绝问题

    当我在 Windows 10 中使用 nvm v 命令时 我收到 访问被拒绝 的消息 我在这里遇到了类似的问题NVM 被拒绝访问 https stackoverflow com questions 48762782 nvm is acces
  • 在 Elixir 单元测试中导入测试代码

    我正在编写一些与 SSH 交互的 Elixir 代码的测试 在我的测试中 我想启动一个可以运行代码的 SSH 服务器 我更愿意将此代码存储在测试目录中它自己的文件中 并通过各种不同的测试导入它 但我还没能让这个工作得很好 我尝试过创建一个t
  • C# 替换文件中的字符串

    替换 HTML 文件内容的一部分时 String Replace 似乎无法正常工作 例如 String Replace 替换 with blah blah blah html gt 请注意 第二个 HTML 结束标记未正确关闭 因此当用户在
  • 强制所有类在多级继承层次结构中实现/重写“纯虚拟”方法

    在C 中为什么pure virtual方法强制其强制覆盖only到它的直接子级 用于对象创建 但不到孙子级等等 struct B virtual void foo 0 struct D B virtual void foo struct D
  • 数据库磁盘映像格式错误或文件已加密或不是数据库

    我需要将没有 Root 的手机上的数据库复制到pad上 所以我也采用了像其他人一样的方法 首先将 data data databases test db复制到 sdcard 然后我使用在我的电脑或我朋友的电脑上使用adb shell sql