2011-12-18 2 views
0

나는 데이터베이스를 만듭니다. 이 데이터베이스에서 3 개의 행을 작성하십시오. Android에서이 데이터베이스를 사용할 때 다음 오류가 발생합니다.Sqlite에 오류가 있습니다. 안드로이드

12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database corruption found by source line 40107 
12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database disk image is malformed 

이 오류는 다음과 같은 경우에 발생합니다. 선택 또는 삽입. 이 오류를 해결하는 방법?

+0

데이터베이스 생성 코드를 게시하고 쿼리를 선택/삽입 할 수 있습니까? –

답변

1

에뮬레이터에서 앱을 삭제 한 다음 다시 설치하면 새 데이터베이스가 만들어집니다.

는 편집 : , 당신은 열 로케일 (TEXT)로 android_metadata라는 테이블을 가지고 있는지 확인하십시오 그 안에 문자열을 넣어 (ko 페이지)

내가 약간의 트릭은 보통의 데이터베이스를 만드는 것입니다 응용 프로그램에서 데이터를 채운 다음 DDMS 또는 adb (/ data/data/mypackage/databases/nameofthedatabase)를 사용하여 에뮬레이터에서 가져온 다음 애셋에 넣습니다. 이렇게하면 데이터베이스가 유효한지 확인할 수 있습니다.

또는 응용 프로그램에서 만들거나 검색 한 다음 그것을 채우거나 수정할 수 있습니다 (리눅스에서 sqlite browser를 사용하고 아름답게 작동합니다). 그런 다음/data/data/mypackage/databases/nameofthedatabase에 다시 넣습니다. 또는 자산에 복사하고 거기에 복사하십시오.

+0

이 작업을 수행했지만이 오류가 다시 나타납니다. tksqlite (http://reddog.s35.xrea.com/wiki/TkSQLite.html)를 사용하여이 데이터베이스를 만듭니다. 데이터베이스를 에셋에 넣은 다음 표준 코드 (DataBaseHelper)를 사용했습니다. – Anton

+0

나는 대답을 편집했다 –

+0

고맙지만, 나는 이미 데이터베이스를 만드는 간단한 펄 스크립트를 만든다. 이제 모든 작업 :) – Anton

관련 문제