The database disk image is malformed_数据库sqlite

The database disk image is malformed_数据库sqlite一.问题分析此问题的提示也就是数据库文件损坏。如果在程序访问数据库期间拷贝是很容易出现该问题的,断开所有连接去拷贝在实际项目中有时候是不现实的,所以我们有时去做一下手动修复。二.问题修复1.下载sqlite3.exe到本地,并将损坏的数据库文件拷贝到同一个目录2.打开命令行工具(CMD),进入到sqlite3.exe所在目录3.使用sqlite3.exe打开损坏的数据库文件,并导出sql语句到临时文件E:\sqlite>sqlite3.exe2022_03_03

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.问题分析

此问题的提示也就是数据库文件损坏。如果在程序访问数据库期间拷贝是很容易出现该问题的,断开所有连接去拷贝在实际项目中有时候是不现实的,所以我们有时去做一下手动修复。

二.问题修复

1.下载sqlite3.exe到本地,并将损坏的数据库文件拷贝到同一个目录

The database disk image is malformed_数据库sqlite

2.打开命令行工具(CMD),进入到sqlite3.exe所在目录

The database disk image is malformed_数据库sqlite

3.使用sqlite3.exe打开损坏的数据库文件,并导出sql语句到临时文件

E:\sqlite>sqlite3.exe 2022_03_03.log
SQLite version 3.26.0 2018-12-01 12:34:55
Enter “.help” for usage hints.
sqlite> .output temp.sql
sqlite> .dump
sqlite> .exit

4.修改临时文件 temp.sql

    将文件最后一行的 Rollback 改为Commit

5.新建数据库文件 newDB

E:\sqlite>sqlite3.exe
SQLite version 3.26.0 2018-12-01 12:34:55
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open newDb

6. 读取数据到新数据库

 sqlite> .read temp.sql
sqlite> .exit

至此数据库文件就修复完成,我们就可以使用newDB来查询我们所需的数据 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197449.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月3日 下午6:01
下一篇 2025年9月3日 下午6:43


相关推荐

  • 深入理解协方差(图文详解)

    深入理解协方差(图文详解)先从方差开始 我们有一组样本 x1 x2 x3 xn 这组样本的均值为 EX 每一个样本都与 EX 之间存在误差 那么这组样本的方差被定义为 所有误差的和的均值 也即 xi EX 2 n 1 方差的作用就是用来 衡量样本偏离均值的程度 下面开始看协方差 仔细观察上述定义式 可知 如果两个变量的变化趋势一致 也就是说如果其中一个大于自身的期望值时另外一个也大于自身的

    2026年3月18日
    1
  • 无人机应用参考文献_无人机应用论文3000字

    无人机应用参考文献_无人机应用论文3000字2019年以后的,相对较新,值得参考

    2022年8月15日
    13
  • python中int的取值范围_int32的取值范围是多少?

    python中int的取值范围_int32的取值范围是多少?int32的数值取值范围为“-2147483648”到“2147483647”;而int64的数值取值范围为“-9223372036854775808”到“9223372036854775808”。int32的取值范围计算机中32位int类型变量的范围,其中int类型是带符号整数。正数在计算机中表示为原码,最高位为符号位:1的原码为000000000000000000000000000…

    2025年11月26日
    3
  • 什么是奇异矩阵与非奇异矩阵

    什么是奇异矩阵与非奇异矩阵奇异矩阵是线性代数的概念 就是对应的行列式等于 0 的矩阵 反之则为非奇异矩阵 首先 看这个矩阵是不是方阵 即行数和列数相等的矩阵 若行数和列数不相等 那就谈不上奇异矩阵和非奇异矩阵 然后 再看此矩阵的行列式 A 是否等于 0 若等于 0 称矩阵 A 为奇异矩阵 若不等于 0 称矩阵 A 为非奇异矩阵 同时 由 A 0 可知矩阵 A 可逆 这样可以得出另外一个重要结论 可逆矩阵就是非奇异矩阵 非奇异矩阵也是可逆矩阵 如果 A 为奇异矩阵 则 AX 0 有无穷解 AX b 有无穷解或者无解 如果 A 为非奇异矩阵 则 AX 0 有且只有唯

    2026年3月18日
    2
  • vue解构赋值_vue解构赋值_ES6解构赋值

    vue解构赋值_vue解构赋值_ES6解构赋值写 vue 或 react 项目 我们经常在接收到数据的时候 需要对数据进行二次加工操作 一些传统的办法可以实现对数据的加工 但利用到 ES6 的解构赋值 则更为简单 解构赋值主要分为对象的解构和数组的解构 在没有解构赋值的时候 我们的赋值是这样的 letarr 1 2 3 leta arr 0 letb arr 1 letc arr 2 这样写很繁琐 解构赋值可以轻松解决上面的问题 一 数

    2026年3月18日
    2
  • java语言helloworld源代码[通俗易懂]

    java语言helloworld源代码[通俗易懂]java语言helloworld源代码publicclassHello{publicstaticvoidmain(String[]args){System.out.println(“hello,world”);}}

    2022年5月28日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号