2011-09-14 4 views
0

sqlite3베이스에서 트랜잭션을 시작하고 무언가를 삽입합니다. 당연히 거기에 자물쇠가있을 것이고 저널 파일에 따를 것입니다. 동시에 sqlite pragma integrity_check를 실행하지만 "in transaction"트랜잭션이 아닌 다른 C 프로그램이있을 수 있습니다.sqlite3 트랜잭션 감지

아무것도 수행하기 전에 거래를 검색하고 싶습니다. 그러나 나는 그것을 만들지 않았다.

그래서

, 내가 문제를 이해한다면 나도 몰라 나에게 올바른 T_T

답변

1

도와주세요 ....이 할 수는 sqlite3를의 소스 코드에서 뭔가 inTransaction을 가지고 있지만 불행하게도 그것은 불투명 한 구조입니다 내가 틀렸다면 나. 데이터베이스가 잠겨 있는지 알고 싶습니까?

저는 파이썬에서 SQLite를 사용합니다. 그래서 C에서 좀 더 정교한 작업을 할 수 있습니다. SQLite가 잠길 때 SQL_BUSY을 반환한다고 생각합니다. 이 상황에 대해 자체 처리기를 정의 할 수 있습니다.

this page 및 아마도 this one을 확인하십시오.

SQL_BUSY이 있으면 작업을 수행하고 다시 시도하거나 원하는대로 수행 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 제가 찾고있는 것이 아닙니다 ... 올바르게 설명하지 않았고 다시 수정했습니다. – alwinlin

+0

어쩌면 [여기] (http://stackoverflow.com/questions/4153091/sqlite-check-reader-writer-lock) 당신은 더 나은 대답을 찾을 수 있지만 DB 잠금에도 관련되어 있습니다. –