IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
hetzer
- Сообщения: 4
- Зарегистрирован: 23 май 2006, 12:29
Сообщение
hetzer » 09 июн 2006, 11:43
Каким образом в 1.5 можно удалить(пересоздать) базу(программно через API)?. Делаю следующим образом:
shutdown
drop
create database
create structure script
Если к базе подключен пользователь(не SYSDBA) получаю ошибку на drop: "unsuccessful metadata update".
Пробую повторить это в IBExpert( конекчусь как USER, shutdown, drop ) и получаю то же: "The operation in not defined for system tables. unsucsseful metada update. object DATABASE is in use."
Каким образом освободить базу для дропа? Причем в 2.0 RC1 этот код работал...
-
DSKalugin
- Сообщения: 212
- Зарегистрирован: 27 окт 2004, 13:39
Сообщение
DSKalugin » 15 июн 2006, 13:14
Удаляй средствами ОС, а не средствами SQL
1-останови сервис ФБ чтобы исключить занятость базы клментами
2-сотри файл
3-запусти сервис ФБ
4-создай новую базу
-
Ivan_Pisarevsky
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
Сообщение
Ivan_Pisarevsky » 15 июн 2006, 16:00
2а Возможно подсунуть файловым копированием базу-заготовку (вместо создания из скрипта, может оказаться быстрее).
Ну или как выше сказано.
-
DSKalugin
- Сообщения: 212
- Зарегистрирован: 27 окт 2004, 13:39
Сообщение
DSKalugin » 15 июн 2006, 17:25
Ivan_Pisarevsky писал(а):2а Возможно подсунуть файловым копированием базу-заготовку (вместо создания из скрипта, может оказаться быстрее).
Согласен, но это уже детали реализации