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来查询我们所需的数据 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • dirsearch安装和使用[通俗易懂]

    dirsearch安装和使用[通俗易懂]目录dirsearch介绍下载及安装如何使用简单用法递归扫描线程前缀/后缀黑名单筛选器原始请求Wordlist格式排除扩展扫描子目录代理报告其他命令小贴士选项选项强制性字典设置一般设置请求设置连接设置配置dirsearch介绍dirsearch是一个基于python3的命令行工具,常用于暴力扫描页面结构,包括网页中的目录和文件。相比其他扫描工具disearch的特点是:支持HTTP……

  • 一招彻底解决win10开机桌面及任务栏卡死问题

    一招彻底解决win10开机桌面及任务栏卡死问题问题描述:从9月份开始,我的笔记本(win10)隔三差五地出现开机后桌面和任务栏卡死的状况,具体表现为开机进入桌面后桌面图标点击无响应;把鼠标移动到桌面底部任务栏显示鼠标的小圆圈一直在加载,若此时多次点击任务栏则会导致资源管理器崩溃并重新启动,重启服务后资源管理器再次陷入卡死。。。如此循环往复,老折磨人了qwq…尝试过的几种解决方案:Ctrl+Alt+Delete呼出任务管理器,点击“进程”选项卡,找到资源管理器,然后单击“重新启动”。(未解决)同时按下Ctrl+Alt+D

  • 什么是ESLint?「建议收藏」

    什么是ESLint?「建议收藏」在我们学习ESLint之前,我们先来了解一下什么是ESLint?什么是ESLint?官网上告诉我们,ESLint是一个用来识别ECMAScript/JavaScript并且按照规则给出报告的代码检测工具,哦,所以我们可以知道,ESLint就是一个工具,而且是一个用来检查代码的工具。代码检查是一种静态的分析,常用于寻找有问题的模式或者代码,并且不依赖于具体的编码风格。对大多数编程语言…

  • H264解码流程

    H264解码流程H264解码过程比较复杂,这里仅简要概述大致流程如果是非黑即白的二值图像,不压缩的情况下一个像素只需要1个bit。如果是256种状态的灰度图像,不压缩的情况下一个像素需要8bit(1字节,256种状态)。如果用256种状态标识屏幕上某种颜色的灰度,而屏幕采用三基色红绿蓝(RGB),不压缩的情况下一个像素需要占用24bit(3字节),这个就是常说的24位真彩色。…

  • Linux的EXPORT_SYMBOL和EXPORT_SYMBOL_GPL的使用和区别

    Linux的EXPORT_SYMBOL和EXPORT_SYMBOL_GPL的使用和区别简要说明使用方法:一个模块mod1中定义一个函数func1;在另外一个模块mod2中定义一个函数func2,func2调用func1。在模块mod1中,EXPORT_SYMBOL(func1);在模块mod2中,externintfunc1();就可以在mod2中调用func1了。同理EXPORT_SYMBOL_GPL使用相同。1、EXPORT_SYMBOL的作用是什么?EXPO…

  • java和javase一样吗

    java和javase一样吗接口概述:接口是Java语言中的一种引用类型,是方法的”集合”,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK7及以前),额外增加默认方法和静态方法(JDK8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用interface关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。publicclass类名.java–>.classpublicinterface接口名.java–>.class接口的使

发表回复

您的电子邮箱地址不会被公开。

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