sqlite 데이터베이스 disk image is malformed 처리

SQLite 는 Repair 명령 을 제공 하지 않 는 다 는 심각 한 단점 이 있다.사망 알림 database disk image is malformed 의 발생 은 여러 가지 가능성 이 있 습 니 다. 예 를 들 어 디스크 공간 이 부족 하고 데 이 터 를 기록 하 는 과정 에서 갑자기 전기 가 떨 어 지 는 등 입 니 다.공식 적 으로 발생 원인 에 대한 설명:http://www.sqlite.org/lockingv3.html#how_to_corrupt
sqlite  my.sqlite3
sqlite>PRAGMA integrity_check;

힌트 를 얻다
*** in database main ***
Page 1518: btreeInitPage() returns error code 11
On tree page 1566 cell 2: Child page depth differs
On tree page 1566 cell 3: Child page depth differs
SQL error: database disk image is malformed

손 상 된 라 이브 러 리 파일 에 대한 간단 한 내 보 내기 가 져 오기 방식 을 시도 할 수 있 습 니 다.우선 데이터 내 보 내기
sqlite3 my.sqlite3
sqlite>.output tmp.sql
sqlite>.dump
sqlite>.quit

새 라 이브 러 리 에 다시 넣 기
sqlite3 mynew.sqlite3
sqlite>.read tmp.sql
sqlite>.quit

이 때 새로 만 든 my new. sqlite 3 는 일반적으로 사용 할 수 있 습 니 다.
Popularity: 4% [?]
 
원본:http://www.sunnyu.com/?p=201

좋은 웹페이지 즐겨찾기