Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

видимо, дело в том, что метаданные кэшируются
но т.к. такая проблема может возникнуть только на этапе разработки, не заморачивайся


Наверх

Титульная страница Поиск, карта сайта Написать письмо