Firefox запирает места. - PullRequest
       7

Firefox запирает места.

4 голосов
/ 16 января 2011

Платформа: Firefox 3.6.13, Python 2.7 без стека и Windows 7 (еще не тестировалась на Ubuntu, я буду ...)

Я пытался с библиотекой apsw:

conn = apsw.Connection( dir + profile + '/places.sqlite', apsw.SQLITE_OPEN_READONLY )

И я получил ошибку:

Файл "c: \ apsw \ src \ Statementcache.c", строка 386, в sqlite3_prepare apsw.BusyError: BusyError: база данных блокировка

Я вижу, что "менеджер SQLite" может открывать базу данных также при запущенном Firefox.

Я просто хочу открыть и прочитать, я думаю, что операция без проблем. И я не могу использовать «SQLite Manager». Мне нужно кодировать мой скрипт на Python (или PHP или Perl).

1) Какой тип блокировки Firefox использует для файла SQLite? Почему?

2) Как работает «менеджер SQLite»?


Q2) SQLite Manager работает на JavaScript, внутри Firefox, поэтому он может обращаться к базе данных.

Это не то, что я ищу: внешнее приложение читает, когда запущен Firefox.

Ответы [ 2 ]

5 голосов
/ 26 января 2011

Я не уверен насчет типа блокировки, который использует Firefox, но я бы порекомендовал это:

Скопируйте файл базы данных Firefox в другое временное расположение и прочитайте его оттуда (это также снижает риск случайногоповреждение исходного файла).

У меня еще не было проблем с этим методом в Firefox 3. *.

3 голосов
/ 18 января 2011

Firefox использует SQLite для получения ИСКЛЮЧИТЕЛЬНОЙ блокировки на базе данных, поэтому вы не можете открыть ее: http://www.sqlite.org/pragma.html#pragma_locking_mode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...