내 iPhone 응용 프로그램에서 SQLite 데이터베이스를 사용하고 있습니다. 내 홈 화면에 새로 고침 버튼이 있으며 새로 고침 버튼을 클릭하면 보통 웹 서비스에서 데이터를 가져 와서 내 데이터베이스에 저장합니다. 정상적인 시나리오에서는 정상적으로 작동하지만 새로 고침 버튼을 4-5 회 클릭하면 응용 프로그램이 다운되고 응용 프로그램 로그에 "데이터베이스를 열 수 없습니다"라는 오류 메시지가 나타납니다.이 SQLLITE 오류가 발생하는 이유를 모르겠습니다. SQLite 데이터베이스에 행 수를 삽입하는 데 제한이 있습니까?데이터베이스를 열 수 없습니다. SQLite iPhone
0
A
답변
2
웹 서비스에서 데이터를 다운로드하고 데이터베이스에 기록한 다음 버튼을 자주 누르면 해당 단계가 반복되는 것처럼 들리는 것 같습니다.
앱의 아키텍처에 따라 sqlite 라이브러리에서 금지하는 다른 스레드에서 데이터베이스에 두 번 이상 쓸 수 있습니다.
일부 코드를 보지 않고도 무슨 일이 일어나는지 알 수있는 방법이 없습니다.
데이터베이스에 쓰려면 큐를 설정하고, 코코아/코코아 터치에서는 NSOperation
과 NSOperationQueue
을 사용하면 쉽게 구현할 수 있습니다. 이러한 클래스를 사용하여 데이터 다운로드 동작을 캡슐화하여 모델 객체로 파싱하고 데이터베이스에 다른 "작업"으로 작성한 다음 큐에 저장할 수 있습니다. 또 다른 작업이 아직 완료되지 않은 경우 하나의 작업이 실행되지 않도록 종속성을 설정할 수도 있습니다. 이 모든 것은 구성 가능합니다.
NSOperation을 사용하면 멀티 스레딩의 세계로 들어서고 어느 시점에서든 사용자 인터페이스를 업데이트하는 경우 UIKit는 스레드 세이프가 아니므로 기본 스레드에서 수행해야합니다.
관련 문제
- 1. 데이터베이스를 열 수 없습니다.
- 2. 데이터베이스를 열 수 없습니다. - Android
- 3. 데이터베이스를 원격으로 열 수 없습니다.
- 4. 속성 데이터베이스를 열 수 없습니다.
- 5. PDO : 메모리에 SQLite 데이터베이스를 만들 수 없습니다.
- 6. 얼마나 자주 sqlite 데이터베이스를 열 수 있습니까
- 7. Sqlite 데이터베이스가 안드로이드에서 열 수 없습니다
- 8. Blackberry - SQLite 데이터베이스를 만들 수 없습니다.
- 9. SQLite 문제 "데이터베이스 파일을 열 수 없습니다."
- 10. android test app에서 데이터베이스를 열 수 없습니다.
- 11. 사용자 기본 데이터베이스를 열 수 없습니다.
- 12. ASP.NET ASPNETDB.MDF 데이터베이스를 열 수 없습니다.
- 13. iphone sqlite3 데이터베이스를 새로 고칠 수 없습니다.
- 14. iPhone : 다른 앱이 sqlite 데이터베이스를 덮어 쓸 수 있습니까?
- 15. 안드로이드 SQLite 데이터베이스를 만들 수 없습니다 : PRAGMA 오류
- 16. 다른 언어로 된 SQLite 데이터베이스를 읽을 수 없습니다.
- 17. iPhone : SQLite 데이터베이스의 열 업데이트 문제
- 18. sqlite3_open - 데이터베이스를 열 수 없습니까?
- 19. sqlite 열 (iPhone)을 변경하는 방법은 무엇입니까?
- 20. C# .net -> SQLite 오류 : 데이터베이스 파일을 열 수 없습니다.
- 21. VS 2010 SP1에서 SQL CE 4 데이터베이스를 열 수 없습니다.
- 22. 사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패. SQL 2005
- 23. ASP.Net SQLExpress : 사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패
- 24. 사용자 기본 데이터베이스를 열 수 없습니다. 로그인 실패 오류
- 25. 솔루션 탐색기에서 SQL 2005 Express 데이터베이스를 열 수 없습니다.
- 26. iPhone 응용 프로그램에서 SQLite 데이터베이스에서 데이터를 삭제할 수 없습니다.
- 27. 콘텐츠 공급자 용 데이터베이스를 만들 수 없습니다.
- 28. 암호화 된 Sqlite 데이터베이스를 만들 수 있습니까?
- 29. ListAdapters/SQLite 데이터베이스를 사용하는 Begginner
- 30. 블랙 베리 이클립스에서 데이터베이스를 만들 수 없습니다.