Сброс всех коннектов для удаления базы

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а Возможно подсунуть файловым копированием базу-заготовку (вместо создания из скрипта, может оказаться быстрее).
Согласен, но это уже детали реализации

Ответить