Страница 1 из 1
Как узнать о новом View
Добавлено: 20 окт 2006, 20:02
dihl
День добрый.
Столкнулся со следующей проблемой: программно создаю View в БД, но не могу к нему получить доступ из программы, пишет что такого View нет. Проблема решается только отсоединением от БД и снова подключением, но это очень уж коряво. Есть более лаконичное решение. Заранее спасибо.
Добавлено: 20 окт 2006, 20:52
WildSery
Commit ?
Добавлено: 20 окт 2006, 21:20
dihl
WildSery писал(а):Commit ?
Commit уже сделан при добавлении View, а у DataBase Commit`а почему то нет
Добавлено: 20 окт 2006, 21:29
kdv
а у DataBase Commit`а почему то нет
что-что?
скажи-ка нам.
1. какую версию сервера используешь
2. какой уровень изолированности (параметры) у транзакции, которая "хочет увидеть view"
3. какие компоненты используются
4. включено ли в компонентах кэширование метаданных
в принципе, эти 4 вопроса являются наводящими, по ним ты сам сможешь определить, что ты делаешь не так.
Добавлено: 21 окт 2006, 17:51
dihl
kdv писал(а):а у DataBase Commit`а почему то нет
что-что?
скажи-ка нам.
1. какую версию сервера используешь
2. какой уровень изолированности (параметры) у транзакции, которая "хочет увидеть view"
3. какие компоненты используются
4. включено ли в компонентах кэширование метаданных
в принципе, эти 4 вопроса являются наводящими, по ним ты сам сможешь определить, что ты делаешь не так.
1. Использую firebird 1.5
2. Уровень изолированности: Read Committed
3. Компоненты: TIBDataBase и TIBTransaction
4. Кэширование что-то не нашел...по умолчанию значит

Добавлено: 21 окт 2006, 18:44
CyberMax
3. Компоненты: TIBDataBase и TIBTransaction
Что-что?. Приведи код, который у тебя создает View.
Добавлено: 23 окт 2006, 13:51
dihl
CyberMax писал(а):3. Компоненты: TIBDataBase и TIBTransaction
Что-что?. Приведи код, который у тебя создает View.
Уже разобрался с проблемой, сам неправильно установил TIBTransaction к разным TIBQuery. Спасибо, что помогли с решением.
Добавлено: 23 окт 2006, 14:00
Dimitry Sibiryakov
А ты вьюхи на лету создаешь? Плохая идея...

Добавлено: 25 окт 2006, 16:21
dihl
Dimitry Sibiryakov писал(а):А ты вьюхи на лету создаешь? Плохая идея...

А чем плохая? Думал для ускорения работы с БД сделать для каждого пользователя свою View или от этого быстрее работать с БД прога не будет?
Добавлено: 25 окт 2006, 16:42
kdv
Думал для ускорения работы с БД сделать для каждого пользователя свою View или от этого быстрее работать с БД прога не будет?
а почему view должно работать быстрее чем обычный запрос? тем, что запрос view хранится на сервере? И?
Добавлено: 26 окт 2006, 21:38
dihl
kdv писал(а):Думал для ускорения работы с БД сделать для каждого пользователя свою View или от этого быстрее работать с БД прога не будет?
а почему view должно работать быстрее чем обычный запрос? тем, что запрос view хранится на сервере? И?
Тем что обычный запрос идет к записям всей БД, а если запрос к View, которая в несколько раз меньше (например раз в 5, чем БД), то думал, что соответственно запрос будет тоже выполняться быстрее... это так?
Добавлено: 26 окт 2006, 22:48
kdv
Тем что обычный запрос идет к записям всей БД, а если запрос к View, которая в несколько раз меньше (например раз в 5, чем БД), то думал, что соответственно запрос будет тоже выполняться быстрее... это так?
Бред не надо писать. View это запрос, который хранится в БД. И практически ничем больше от запросов, выдаваемых с клиента, не отличается. На view можно создать триггеры как на таблице, но это к делу не относится.
Почитайте что-нибудь по азам СУБД.