文档章节

SQLite数据库修复教程

炎龙王
 炎龙王
发布于 2015/11/25 11:57
字数 343
阅读 539
收藏 1

SQLite 大家都知道,就不多说了。

有时候数据量大了,或者存储过程中出现异常,数据库就可能会出问题。

这是以前公司产品出现过的问题,导致软件都打不开了,我花了不少时间才解决的,趁现在有空贡献出来。


  1. 先下载一个 sqlite3 的命令行工具,下载对应系统版本的  command-line shell

  2. 下载完成后解压到一个目录下,顺便把要修复的数据库也放到该目录下。

  3. 打开终端(CMD)进入到该目录。

  4. 执行以下命令:
    
    sqlite3 要修复的数据库名
    .output "_temp.tmp"
    .dump
    .quit
    
    该命令是将旧数据库的内容提取出来,保存到一个临时文件中。
  5. 用编辑器打开刚刚生成临时文件 _temp.tmp 看看文件的最后一行是不是
    
    ROLLBACK; -- due to errors
    
    是则把它删掉,并加上
    
    COMMIT;
    
    如果最后一行是 COMMIT; 则忽略此步骤。
  6. 再到终端,输入一下命令:
    
    sqlite3 新数据库名
    .read "_temp.tmp"
    .quit
    
    此命令是将旧数据写到新数据库里面。

  7. 至此,数据库修复完毕。可能有点小缺陷,数据会丢失一小部分,不过至少大部分数据都还在,数据库也能继续使用了。

© 著作权归作者所有

共有 人打赏支持
炎龙王
粉丝 5
博文 1
码字总数 343
作品 0
汕头
程序员
加载中

评论(1)

tongyuekeji
tongyuekeji
这篇文章还是不错的,对于没有数据库基础的话,挺有用处的。
像作者介绍的,只是简单的按照步骤,去恢复原有的数据库。但是sql数据库恢复过程中一旦报错,就不是这样简单的处理方法了,像mdf文件头损坏,磁盘坏道,数据库不能附加,校验有问题,823,824错误等等,解决以上问题,就不是简单的设置几下就可以恢复了,就要用到专业的数据库修复软件了, 鱼鱼mdf修复工具就能处理,工具可以百度到,免费的。实在搞不定的话,数据库事关重大就要找专门的修复工具。或者找专业的公司修复这个。我推荐济南同岳科技我们遇到很多事情都是找他们修复还包售后!
XamarinSQLite教程创建数据库

XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了。操作步骤如下: (1)在Visual Studio中,单击“工具” SQLite/SQL Server Compact ...

大学霸
07/18
0
0
XamarinSQLite教程安装SQLite/SQL Server Compact Toolbox

XamarinSQLite教程下载安装SQLite/SQL Server Compact Toolbox SQLite/SQL Server Compact Toolbox是一个Visual Studio的插件。使用它,可以以界面化方式对数据库进行操作,如创建数据库,添...

大学霸
07/13
0
0
学习iPhone开发中 sqlite3的使用

由于我主要负责我们小组项目数据库模块的部分所以这几天都一直在研究在iphone中最为常用的一个简单数据库sqlite,自己也搜集很多资料,因此在这里总结一下这几天的学习成果: 1.Sqlite操作简明教...

慎道
2011/03/27
0
1
Xamarin SQLite教程数据库访问与生成

Xamarin SQLite教程数据库访问与生成 在本教程中,我们将讲解如何开发SQLite相关的App。在编写程序前,首先需要做一些准备工作,如了解Xamarin数据库访问方式,添加引用,构建使用库文件等。...

大学霸
06/20
0
0
[转载]SQLite 创建、修改、删除表

、数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schema。 在 SQL 语句中,专门有一些语...

mutouzhang
2014/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[MicroPython]STM32F407开发板驱动OLED液晶屏

1.实验目的 1.学习在PC机系统中扩展简单I/O 接口的方法。 2.进一步学习编制数据输出程序的设计方法。 3.学习 F407 Micropython开发板控制OLED显示字符。 2.所需元器件 F407 Micropython开发板...

bodasisiter
21分钟前
0
0
php require和include 相对路径一个有趣的坑

以前总是被教育,不要使用相对路径,这样性能比较差,但是相对路径的问题不仅仅是性能哦,看下面这里例子 这是项目结构 .├── main.php├── t│ ├── t1.php│ └── t2.php└─...

anoty
22分钟前
9
0
x64技术之SSDT_Hook

测试环境: 虚拟机: Windows 7 64bit 过PG工具 驱动加载工具 PCHunter64 系统自带的计算器和任务管理器等 实现思路: 实际思路与win32的思路一样.都是替换SSDT表里边的函数地址.不过微软被搞怕...

simpower
23分钟前
0
0
TreeMap源码分析,看了都说好

一、简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现。TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey、get、put 和 remove 操作,效率很...

Java小铺
33分钟前
0
0
协变、逆变

概念 假设 A、B表示类型 ≤ 表示继承关系 f<⋅>表示类型转换 若A ≤ B,则 A是B的子类,B是A的超类 协变、逆变 什么是型变?型变(type variance)允许对类型进行子类型转换。 为了下面讲解先...

obaniu
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部