2010-12-15 3 views
0

우리 응용 프로그램은 SQLite 데이터베이스 파일을 사용하여 데이터를 저장합니다. 응용 프로그램은 시작시 파일에 데이터베이스를 열고, 읽고 쓰고, 종료 할 때 닫습니다.SQLite 파일에 액세스하는 응용 프로그램의 복사본이 여러 개 있습니까?

불행히도, 누군가 우리 앱을 두 번 실행하지 못하게 할 수는 없습니다. 이런 일이 발생하면 동시에 파일을 읽거나 쓰려고하는 앱 복사본이 2 개있을 것입니다. 나는 이것이 데이터베이스 파일을 위해 잘 끝나지 않을 것이라고 상상한다.

사용자의 데이터 손실을 방지하려면 어떻게해야합니까? 앱의 두 번째 복사본이 동시에 실행되면 데이터베이스를 열지 않아야합니까? 아니면 우리가 할 수있는 더 무언가가 있습니까?

감사합니다.

+1

SQLite는 단지 하나의 파일에 기반을두고 있음을 감안할 때 자주 묻는 질문 http://www.sqlite.org/faq.html#q5 –

답변

2

sqlite를 포함한 모든 제인 데이터베이스 공급자는 2 명이 동시에 데이터베이스에 액세스하면 데이터베이스를 손상시키지 않습니다. 병렬로 실행할 수있는 방법이 없다면 대부분 요청을 대기열에 넣습니다.

이제 앱에서 데이터로 수행하는 작업, 즉 앱의 문제 일 뿐이지 만 데이터베이스 자체는 걱정하지 않아도됩니다.

+0

을 읽어주십시오, 당신은 확실히이 점이다 참된? 또는 DLL이 일종의 검은 마법을 사용하여 두 사람이 동시에 파일을 사용하더라도 모두 괜찮을 것입니다. – Colen

+0

sqlite가 데이터베이스를 손상시키지 않을 것이라고 확신합니다. 그것은 단지 하나의 파일 이상이며 API를 통해 액세스하고 있으며 액세스 동기화를 처리합니다. – Blindy

관련 문제