Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
sergey1993
0 / 0 / 1
Регистрация: 04.04.2012
Сообщений: 79
1

Ошибка "Файл базы данных занят" при попытке подключения к ней

14.07.2014, 21:14. Просмотров 613. Ответов 1
Метки нет (Все метки)

работаю с бд через шарп . C:\Temp\Паспорт.fdb" в этой директории потом папку темп перекидываю на другой диск а эту папку удаляю. но при удалении ругается что Паспорт.fbd занят. вроде как стираю все коннекты. что не так


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
               fb_con.Charset = "WIN1251"; //используемая кодировка
               fb_con.UserID = "SYSDBA"; //логин
               fb_con.Password = "masterkey"; //пароль
               fb_con.Database = @"C:\Temp\Паспорт.fdb"; //путь к файлу базы данных
               fb_con.ServerType = 0; //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))
               //создаем подключение
               fb = new FbConnection(fb_con.ToString()); //передаем нашу строку подключения объекту класса FbConnection
               fb.Open(); //открываем БД
string update1371 = string.Format("UPDATE VSPR1371 SET SI3={0:d} where si1={1:d}",IDshape, SidShape);
                                    string update1377 = string.Format("update VSPR1377 set si3={0:d} where si1={1:d}",IDshape, SidShape);
                                   
                                    FbTransaction fbt = fb.BeginTransaction();
                                    FbCommand UpdateSql1371 = new FbCommand(update1371, fb);
                                    FbCommand UpdateSql1377 = new FbCommand(update1377, fb);
                     
                                    //1371
                                    try
                                    {
                                        UpdateSql1371.Transaction = fbt;
                                        UpdateSql1371.ExecuteNonQuery();
                                        fbt.Commit();
                                        UpdateSql1371.Dispose();
                                    }
                                    catch
                                    {
                                        fbt.Rollback();   
                 fb.Close();
  Directory.Delete(tempUnZIP, true);
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2014, 21:14
Ответы с готовыми решениями:

При попытке осуществить миграцию базы данных возникает исключение "FormatException"
Здравствуйте! При попытке осуществить миграцию базы данных возникает исключение...

Аутентификация localDB - приложение "падает" при попытке подключения к БД на других ПК
Добрый день! Такая проблема. Создаю WPF приложение с использованием локальной БД. На компьютере на...

При попытке подключения к SQL Server 2005: "Журнал событий переполнен"
Здравствуйте! Такая проблема, пытаюсь подключиться к базе данных SQL Server 2005, но выскакивает...

Ошибка "База данных уже существует". При отсутствии базы данных
День добрый! Помогите, пожалуйста, разобраться с проблемой. Есть довольно простой код,...

Ошибка при открытии БД: "Нераспознаваемый формат базы данных"
здравствуйте. подскажите что я не так делаю. как присоединить эту чертову БД и сделать простейший...

1
Smokeshow13
3 / 3 / 2
Регистрация: 05.06.2014
Сообщений: 23
15.07.2014, 01:37 2
ничо не понял...

как работает бд коннекты:

есть исходный файл бд (скажем акцессовский). Конектившись к нему дубликат её заносится в корень программы, он называется датасет(набор данных из исходной БД).
удаление исходного файла оставляет датасет пустым, без инфы, и он орёт, что не может найти исходник для данных. каждый датасет ссылается на ту или иную таблицу, или запрос из датасета, но так как там пусто, то прога не работает.
используйте конструктор для создания датасетов.
он упрощает множество функции и писанины. работать с адаптерами легче.

и если вы ввели изменения в исходную бд (удалили, переименовали, перенесли, изменили структуры), сперва требуется удалить её из коннектов, затем удалить датасет, который создан на её основе.
затем заносить её снова и называть датасет прошлым именем. тем самым обновив все структуры.

вроде так
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2014, 01:37

При обновлении базы выходит ошибка "conversion error from string "27,5""
Здравствуйте при обновлении базы выходит ошибка "conversion error from string "27,5"" на картинке...

Синхронизация файлов в двух папках. При работе с большими файлами возникает ошибка "Файл занят другим процессом"
Доброго времени суток. У меня такой вопрос. Пишу программу для синхронизации данных в двух...

Копирование файла на место удаленного. Ошибка "Файл занят"
Столкнулся с очень своеобразной проблемой. В цикле постоянно копируется и запускается консольная...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.