![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Firebird и представления [D7, Firebird 1.5.3]
LoDr © (2007-12-27 17:31:00)Есть на клиенте запрос
'Select field1, field2 from MyView',
где MyView- представление,
который периодически открывается с пом. датасета(FIBPlus):
With pFIBDataSet1 do
begin
Open;
...//Смотим че там происходит и закрываем!
Close;
end;
Проблема заключается в том, что если требуется изменить MyView и он был уже просмотрен на подключенном к базе клиенте(даже если запрос и закрыт), то IBExpert говорит:
"object MyView is in use".
Перекомпилить MyView можно только после отключения клиента.
Обьясните плз, где тут собаку зарыли), как можно "освободить" представление на клиенте?
DrPass (2007-12-30 02:53:00) [1]
> ЗЫ: Зачем же тогда эти представления, если толку от них.
> ..
Как и в любой другой СУБД - для создания предопределенных выборок, но никак не средство для динамического исполнения запросов. В грамотно спроектированной базе данных не должно быть случаев изменения метаданных в рантайме.
Msguns (2007-12-29 20:50:00) [2]Вместо изменеоия вьюхи можно использовать параметры для варьирования условий выборки
Johnmen (2007-12-28 08:48:00) [3]
> Дело в том, что не только на этапе, т.к. условия этого представления
> могут иногда меняться,
Значит что-то не так в консерватории.
Правильный_Вася (2007-12-27 23:12:00) [4]
> условия этого представления могут иногда меняться
а что, нельзя заранее сделать много вьюх или накладывать условия на саму выборку из вьюхи?
atruhin (2007-12-27 21:49:00) [5]> Дело в том, что не только на этапе, т.к. условия этого представления
> могут иногда меняться,
В Firebird одно из основных правил: Нельзя менять метаданные во время работы программы.
LoDr (2007-12-27 18:48:00) [6]Дело в том, что не только на этапе, т.к. условия этого представления могут иногда меняться, а полные запросы клиентам дать не могу, так как не у всех есть они будут работать(из-за прав и внешних функций).
ЗЫ: Зачем же тогда эти представления, если толку от них...
Правильный_Вася (2007-12-27 17:39:00) [7]видимо, дело в том, что метаданные кэшируются
но т.к. такая проблема может возникнуть только на этапе разработки, не заморачивайся