마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sqlite의 용량 문제입니다.

+1 추천
안녕하세요.

프로젝트 진행중에 스마트폰에서 특정 서버의 디비에 붙어서 테이블을 검색해서 결과물을 스마트폰에 sqlite에 입력해야되는 기능을 구현하고 잇는데

문제는 서버에는 5000건의 데이터가 검색되었는데 sqlite에는 70건밖에 입력이 안되는데 이유가 뭘까요?

지금 프로젝트가 폰갭으로 진행되고 있는데 반복해서 자바스크립트function을 호출해서 sqlite에 저장되는 방식인데요.

문제가 뭔지, 조언좀 해주세요.

감사합니다.
Woniper (830 포인트) 님이 2013년 3월 21일 질문

2개의 답변

0 추천
안드로이드 폰에 field가 70개 밖에 입력이 안되시는 건가요?

그럴ㄹ리가.. 저는 column 13개짜리 field 200개를 넘게 입력했었는데..잘 되었습니다.

5000건까지는 해보지 않아서 모르겠으나 70건은 DB용량이 아니라 어떤 다른 문제가 아닐까 추측해봅니다.

70건까지 입력되고 71건부터 입력이 안된다면

오류가 나서 입력이 안되는 거겠지요? 그 로그캣을 볼 수 있을까요?
안드로이드로우 (15,740 포인트) 님이 2013년 3월 22일 답변
일단 지금 저장방식이 서버디비에 붙어서 모든 데이터를 셀렉트해서 어레이리스트에 저장을 하구요(어레이리스트에는 모두 저장이 되어있습니다.) 그리고 나중에 그 어레이리스트의 저장된 데이터를 sqlite에 입력하는 작업을 반복문을 사용해서 하는데요. 로그켓으로 찍어보면 모두 반복해서 찍히는데 이상게 sqlite에 입력이 안되네요.
폰갭의 slite플러그인을 사용해서 입력해서 그런지... 이유를 잘 모르겠네요...ㅠㅠ
폰갭을 사용하시는구낭..ㅎ
폰갭의 sqlite플러그인이 어떤종류의 어떻게 사용하는지는 몰라도 70개밖에 저장이 안된다면 그건 잘못된거겠죠..ㅎㅎ
5000건이 전부 반복문이 되서 도는데, 70건만 들어갔다면..
71건 부터는 DB에 write 할때 오류가 잇을텐데..

폰갭 자체를 제가 모르니 어떻게 정확하게 말씀드리기가 힘드네요 ㅠㅠ

DB에 write할때 보통 안드로이드 SQLite는 write의 성공, 실패 값을 리턴하거든요. 혹시 폰갭 플러그인도 그런게 있는지 우선 살펴보셔야 할것 같은데요..ㅎㅎ
0 추천
트랜젝션 관련해서 한번 보시기 바랍니다.

대용량(건수가 많을경우)일 경우 연속으로 insert시 트렌젝션을 사용하지 않으면 데이터가 다 저장 되지 않습니다.

beginTransaction, setTransactionSuccessful, endTransaction
jelly (1,630 포인트) 님이 2013년 3월 22일 답변
jelly님이 2013년 3월 22일 수정
아 그런가요? 생각지도 못했는데 감사합니다.^^
...