Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Присылайте нам Донат :), напишите за что прислали )


Ответ
 
Опции темы
Старый 09.01.2019, 23:59   #1
Lomakin
 
Регистрация: 19.12.2018
Адрес: Россия
Сообщений: 6
Репутация: 10
По умолчанию Ошибка удаления файла БД 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 вне форума   Ответить с цитированием
Старый 10.01.2019, 00:12   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,416
Репутация: 3533

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

Вообще скорее всего в пуле дело.
Может быть надо https://docs.microsoft.com/en-us/dot...ramework-4.7.2 или Pooling=False в ConnectionString.

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

Alex11223
Код:

SQLiteConnection.ClearAllPools();

Не помогает.
Lomakin вне форума   Ответить с цитированием
Старый 10.01.2019, 17:57   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,675
Репутация: 6586
По умолчанию

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

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

Проблема решена
Код:

command.Dispose();

Всем спасибо.
Lomakin вне форума   Ответить с цитированием
Старый 10.01.2019, 19:40   #6
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,416
Репутация: 3533

icq: 512-765
skype: alexp.frl
По умолчанию

Я ж сказал
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
SQLiteCommand и т.п. тоже IDisposable.
Засунули б их тоже в using.
Alex11223 на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита файла от удаления Jaroslav Microsoft Office Excel 3 18.05.2016 22:45
Ошибка при коннекте к SQLite через ADO Notan1310 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 4 29.12.2015 18: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


21:49.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru