Ошибка ввода-вывода диска после ожидания USB

Я получаю исключение с моим соединением SQLite.

Message: disk I/O error
StackTrace: at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
   at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
 Source: System.Data.SQLite

Это происходит с этим сценарием.

  1. Я запускаю приложение
  2. Я нажимаю кнопку, которая выполняет функцию
  3. Я ничего не делаю в течение 30 минут
  4. Я нажимаю кнопку еще раз для выполнения функции
  5. Исключение!

Вопрос почему?

Флешка с базой данных переходит в режим ожидания через несколько минут? Режим ожидания для жестких дисков устанавливается до 10 минут от аккумулятора и до 20 минут от источника питания. Диспетчер устройств Windows говорит, что при желании Windows можно перейти в режим энергосбережения.

Но почему тогда функция SQLite3.Reset не работает?

И есть ли решение для исправления?

Вот функция, которую я выполняю с интервалом 30 минут.

if (connection.State != ConnectionState.Open)
{
    connection.Open();
}

using (var command = new SQLiteCommand(sqlQuery, connection))
{
    using (var reader = command.ExecuteReader())
    {
        // Do something
    }
}

if (connection.State != ConnectionState.Closed)
{
    connection.Close();
}

return returnList;

0 ответов

Другие вопросы по тегам