Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2019, 22:59   #1
Lomakin
Пользователь
 
Регистрация: 19.12.2018
Сообщений: 21
По умолчанию Ошибка удаления файла БД SQLIte.

Помогите пожалуйста. При Удаление временной базы выходит ошибка

System.IO.IOException: "Процесс не может получить доступ к файлу "C:\Users\==========\Debug\tmp. db", так как этот файл используется другим процессом."

Подскажите как исправить.
Код:
                string db_way = "tmp.db"; //база данных
                string db_field = "meta"; //имя таблицы             
                string ConnectionString = "data source=" + db_way + ";New=True;UseUTF16Encoding=True";
                DataTable DB = new DataTable();
                string sql = string.Format("SELECT * FROM {0} {1} {2}", db_field, "", "");
                using (SQLiteConnection connect = new SQLiteConnection(ConnectionString))
                {
                    SQLiteCommand command = new SQLiteCommand(sql, connect);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
                    adapter.Fill(DB);
                    connect.Open();
                    {
                        // Работа с базой
                    }
                    connect.Close();
                    File.Delete("tmp.db"); // Тут ошибка
                }
Lomakin вне форума Ответить с цитированием
Старый 09.01.2019, 23:12   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем внутри using удалять?

И SQLiteCommand и т.п. тоже IDisposable.

Вообще скорее всего в пуле дело.
Может быть надо https://docs.microsoft.com/en-us/dot...ramework-4.7.2 или Pooling=False в ConnectionString.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 09.01.2019 в 23:17.
Alex11223 вне форума Ответить с цитированием
Старый 10.01.2019, 16:35   #3
Lomakin
Пользователь
 
Регистрация: 19.12.2018
Сообщений: 21
По умолчанию

Alex11223
Код:
SQLiteConnection.ClearAllPools();
Не помогает.
Lomakin вне форума Ответить с цитированием
Старый 10.01.2019, 16:57   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

https://stackoverflow.com/questions/...-database-file
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Alex11223; 06.05.2019 в 17:53.
Аватар вне форума Ответить с цитированием
Старый 10.01.2019, 18:35   #5
Lomakin
Пользователь
 
Регистрация: 19.12.2018
Сообщений: 21
По умолчанию

Проблема решена
Код:
command.Dispose();
Всем спасибо.
Lomakin вне форума Ответить с цитированием
Старый 10.01.2019, 18:40   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я ж сказал
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
SQLiteCommand и т.п. тоже IDisposable.
Засунули б их тоже в using.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита файла от удаления Jaroslav Microsoft Office Excel 3 18.05.2016 21:45
Ошибка при коннекте к SQLite через ADO Notan1310 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 4 29.12.2015 17:35
способы удаления из файла 3Doleg Общие вопросы C/C++ 11 24.11.2013 00:26
неработает функция удаления из файла 3Doleg Общие вопросы C/C++ 0 05.11.2013 19:00
Ошибка в SQLite Dokee БД в Delphi 1 14.03.2013 17:46