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)


相关推荐

  • 深入理解Java自定义注解(二)-使用自定义注解

    深入理解Java自定义注解(二)-使用自定义注解

  • vb调用access数据库(access追加查询键值冲突)

    VB连接access数据库时,在查询语句中需要使用like问题时注意1、officeaccess中查询的通配符“*”。SQL中通配符是“%”2、但在VB中使用时,为“%%”,不是“*”,也不是“**”转载于:https://www.cnblogs.com/xbj-hyml/p/6928695.html…

  • linux 日期转换时间戳_oracle日期转13位时间戳

    linux 日期转换时间戳_oracle日期转13位时间戳1.用时间戳显示当前时间:date+%s#date+%s16145919602.将时间戳转换成日期时间:date-d@1614591901#date-d@16145919012021年03月01日星期一17:45:01CST3.转换指定日期为时间戳:2021-03-0117:49:23#date-d’2021-03-0117:49:23’+%s16145921634.指定日期格式转换:date-d@1614592163 +”…

  • 汉字转16进制java_java实现汉字转unicode与汉字转16进制实例[通俗易懂]

    汉字转16进制java_java实现汉字转unicode与汉字转16进制实例[通俗易懂]本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法。分享给大家供大家参考。具体实现方法如下:一、汉字转unicodepublicstaticStringtoUnicode(Strings){Stringas[]=newString[s.length()];Strings1=””;for(inti=0;i<s.length();i++…

    2022年10月31日
  • 容斥原理的证明_容斥原理三集合公式解释

    容斥原理的证明_容斥原理三集合公式解释容斥原理的证明原链接地址容斥原理(翻译)-vici-C++博客       我们要证明下面的等式:                其中B代表全部Ai的集合         我们需要证明在Ai集合中的任意元素,都由右边的算式被正好加上了一次(注意如果是不在Ai集合中的元素,是不会出现在右边的算式中的)。         假设有一任意元素在k个A

    2022年10月27日
  • jq正则表达式_JAVA 正则表达式

    jq正则表达式_JAVA 正则表达式一、JavaScript正则表达式正则表达式(英语:RegularExpression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。什么是正则表达式?正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更…

发表回复

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

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