Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/30: Рейтинг темы: голосов - 30, средняя оценка - 4.90
4 / 4 / 0
Регистрация: 27.03.2013
Сообщений: 12
1

Ошибка "База данных уже существует". При отсутствии базы данных

23.05.2013, 13:43. Показов 5727. Ответов 2
Метки нет (Все метки)

День добрый!

Помогите, пожалуйста, разобраться с проблемой.

Есть довольно простой код, который создает БД с именем DB.mdf в корне диска C:\
C#
1
2
3
MyDB DB = new MyDB(@"C:\DB.mdf");
         if (!DB.DatabaseExists())
                DB.CreateDatabase();
Если взять новое имя для БД и вписать его в путь создания (например C:\DBv2.mdf) файл создается, позваляет себя редактировать и удалять через команду DB.DeleteDatabase().
НО, если удалить файлы БД с диска вручную (т.е. выделить файлы DBv2.mdf и DBv2.ldf и нажать клавишу "Delete"), и заново запустить код, который должен создать БД с файлами DBv2.mdf и DBv2.ldf на диске C:\, выдается ошибка:
"База данных "c:\DBv2.mdf" уже существует. Выберите другое имя базы данных."
Хотя DB.DatabaseExists() и File.Exists(@"c:\DBv2.mdf") выдают false.

Кто-нибудь может подсказать где кроется проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.05.2013, 13:43
Ответы с готовыми решениями:

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

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

Как сделать, чтобы при отсутствии данных в поле выводился текст "данные отсутствуют"
Есть две таблицы. Нужно вывести данные (не все) из обеих в DetailsView. Запрос сделал, он работает,...

Ошибка сохранения данных "Ошибка преобразования значения varchar "id" в тип данных int"
private void btnSaveSettings_Click(object sender, EventArgs e) { string...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
2
78 / 78 / 15
Регистрация: 27.01.2013
Сообщений: 323
24.05.2013, 16:45 2
Дело в том, что просто удалить два созданных файла базы данных из файловой системы, чтобы избавиться от базы данных не получится. SQL Server по-прежнему будет содержать их в своем каталоге. Чтобы второй запуск метода CreateDatabase удался, необходимо отсоединять и удалить базу данных через Server Management Studio- в обозревателе объектов выбрать: базы данных / необходимая база => правый клик мыши и соответствующие действия.
0
4 / 4 / 0
Регистрация: 27.03.2013
Сообщений: 12
24.05.2013, 20:36  [ТС] 3
Цитата Сообщение от AlexAsche Посмотреть сообщение
Дело в том, что просто удалить два созданных файла базы данных из файловой системы, чтобы избавиться от базы данных не получится. SQL Server по-прежнему будет содержать их в своем каталоге. Чтобы второй запуск метода CreateDatabase удался, необходимо отсоединять и удалить базу данных через Server Management Studio- в обозревателе объектов выбрать: базы данных / необходимая база => правый клик мыши и соответствующие действия.

В Server Management Studio эта база не показывается. И вариант с нормальным удалением (например, командой Database.Delete) работает хорошо. Но как сделать так, что бы CreateDatabase работал при удалении БД "неправельным" способом? Например, если кто-то намеренно из-за зловредных намерений удалил файлы? Возможно ли SQL Серверу дать понять, что БД уже нет?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2013, 20:36

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ошибка "база данных только для чтения" в установленном приложении
В VS при нажатии на кнопку Запуск, приложение работает без ошибок, удаляет и сохраняет записи....

Вывод из таблицы базы данных и ошибка "relation does not exists"
Доброе времени суток. Нужно сделать программу работающий с БД, созданная при помощи postgresql...

Создание диаграммы и ошибка "У базы данных отсутствует допустимый владелец"
вот такое пишет ЗАГОЛОВОК: Microsoft SQL Server Management Studio...

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


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

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

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