2015-05-16 2 views
0

Я создал программное обеспечение .Net C# с использованием базы данных SQLite3.0. В программном обеспечении данные вставляются почти в минуту, каждый день. Но очень редкие времена (примерно раз в месяц), он теряет свои данные, как никогда.SQLite теряет свои данные

Все мои таблицы имеют столбцы идентификации. Чтобы проверить потерю, я пишу вложенное время новой строки в каждой таблице. Когда произошли потери, я заметил, что строки часа были потеряны. Но значения идентичности не были пропущены и продолжались точно. Я проверил свои транзакции, но все было в порядке.

При запуске программы создается и открывается соединение. И это соединение используется в течение всего времени без закрытия и повторного открытия. Во время выполнения есть много действий db, таких как вставка, обновление, удаление, выбор.

Может ли это быть причиной потери? Должен ли я открывать и закрывать соединение для каждого действия db?

ответ

0

Поскольку ваши уникальные ключи не пропускаются, более вероятно, что вы не записываете в базу данных, а не теряете данные. У меня никогда не возникало проблемы с открытием соединения в течение длительного времени (хотя, конечно же, локально). Я бы тщательно изучил, что пишет в базу данных.

Смежные вопросы