Если я сохраню соединение с базой данных, нужно ли монтировать файловую систему? - PullRequest
0 голосов
/ 29 ноября 2010

Я использую sqlite для доступа к своей базе данных и постоянно поддерживаю соединение открытым.

Я получил новый запрос на размонтирование диска, на котором хранится БД. Вопрос в том, нужно ли закрывать соединение? Или достаточно просто закрыть базу данных?

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

Это зависит от используемой вами платформы.Для самого SQLite должно быть достаточно закрыть базу данных.Просто убедитесь, что вы завершили все транзакции, прежде чем сделать это.

Я полагаю, вы используете какую-то инфраструктуру, поскольку сам SQLite не имеет функции или метода disconnect .У него просто есть метод close , который, вероятно, вызывается автоматически, если вы либо close , либо отключите в своей среде.файловая база данных.Так что, во всяком случае, такого понятия, как «связь», не существует.

1 голос
/ 29 ноября 2010

Соединения SQLite соответствуют открытому файлу (или более, если есть открытый журнал транзакций; когда я пробую это здесь и проверяю с lsof, я получаю дополнительные два открытых FD, один для журнала и один для содержимого каталог), поэтому, когда любое соединение с базой данных открыто, вы не можете размонтировать файловую систему; ОС откажется и скажет вам, что она занята. Единственный способ размонтировать файловую систему, в которой размещена база данных, - это сначала закрыть все подключения к базе данных.

...