sqlite数据库文件提示损坏修复方法

第1章 说明    1

1 下载SQLite Tools    1

2 运行    2

注意:为了方便,可把要修复的数据库文件直接放到sqlite3.exe路径下然后运行sqlite3.exe就不用输入具体路径了。

sqlite3.exe 下载链接SQLite Download Page

第1章 说明

笔者编写的一个程序,无法往 SQLite 数据库文件里写数据。使用SQLiteSpy打开该文件后显示如下错误:

图1

上网搜到了这篇博文:http://blog.csdn.net/bamboo28/article/details/7034447

把数据库文件修复后,问题解决。现将数据库文件修复步骤总结如下。

1 下载SQLite Tools

网址http://www.sqlite.org/download.html,下载文件sqlite-tools-win32-x86-3150200.zip

图2

2 运行

解压sqlite-tools-win32-x86-3150200.zip。

进入DOS命令窗口,如下图所示:

图3

首先运行sqlite3.exe,命令如下(注意:W:\Downloads\Chrome\sqlite-tools-win32-x86-3150200 是sqlite3.exe所在目录)

"W:\Downloads\Chrome\sqlite-tools-win32-x86-3150200\sqlite3.exe"

运行sqlite3.exe之后,将显示"sqlite>"提示符。依次运行如下命令:

命 令

说 明

.open W:/Temp/bad.db

打开损坏的文件 bad.db

PRAGMA integrity_check;

检查损坏的文件,这一步可以省略

.output W:/Temp/t.sql 

设定导出文件为 t.sql

.dump 

将bad.db的内容,以SQL语句的方式导出到文件 t.sql里

.open W:/Temp/OK.db 

创建数据库文件 OK.db

.read W:/Temp/t.sql 

从 t.sql 文件里导入数据

.quit 

退出 sqlite3.exe

现在,W:\Temp\OK.db就是修复好的数据库文件了。文件W:\Temp\t.sql是临时文件,可以删除。

/***************************************

SQLite-database disk image is malformed,此句英文的意思是数据库文件损坏。

怎么证明SQLite数据库文件损坏呢?

首先sqlite3 database_name进入数据库

然后运行命令 PRAGMA integrity_check;

如果数据库文件损坏就会报损坏的错误,如何数据库文件是完好的就会显示OK。

遇到这个问题怎么解决?
网上一般的做法有两种:

方法一:

1、在https://www.sqlite.org/download.html网站上下载sqlite-tools工具,我下载的是http://sqlite-tools-win32-x86-3250300.zip

2、解压上面的压缩包,并在命令行模式下进入该目录运行sqlite3.exe

 

3、打开损坏的数据库文件

.open d:/CloudPos.db
1
4、进行检测

PRAGMA integrity_check;
1
5、设置导出文件为tmp.sql

.output d:/tmp.sql
1
6、将CloudPos.db中的内容以sql方式导出到tmp.sql

.dump 
1
7、创建temp.db数据库

.open d:/temp.db 
1
8、从tmp.sql中导入数据

.read d:/tmp.sql 
1
9、退出

.quit 
1
方法二:

使用SQLite Expert Professional工具提供的repair来修复db文件

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值