Для отладки работы DSQL следует пользоваться логом драйвера соответствующей БД, который формируются в каталоге запуска Галактики.
Например:
- MS70DRV.LOG
- ORA90DRV.LOG
В вашем случае не надо было ставить ":" перед таблицами.
Дело в том, что существующий пример в документации для теперешней версии DSQL не очень актуальный.
На Оракле я пример проверил - работает без ":". На SQL 2005 не смотрел.
Документация будет актуализирована. Новая редакция войдет в очередной выпуск диска с документацией 810_7_04.08(плановая дата выхода апрель 2008 г.) и комплект поставки Атлантис 5.3.20 (плановый срок сборки 31.03.2008).
Последний раз редактировалось myannik Ср, 26/03/2008 16:09, всего редактировалось 1 раз.
select t$dogovor.f$nodoc, sum(t$calplan.f$summa)
from t$dogovor, t$calplan
where t$dogovor.f$nrec=t$calplan.f$cdogovor
group by t$dogovor.f$nodoc
order by t$dogovor.f$nodoc
1. Пишете нужный скрипт в виде процедуры MSSQl. Содержимым его и будет являться вышеупомянутый кусок кода.
Только нужно сделать выгрузку этого селекта в подходящую незаюзанную таблицу БД/свою таблицу(все зависит от того, подправлен ли словарь у Вас...) . Все это делается именно в этой созданной процедуре.
Если нужно, то вызываете его с нужными параметрами.
2. Находите какую нить незаюзанную таблицу БД/свою таблицу и правите триггер, например на insert.
3. Далее пишите свой вип/ард и вставляете в таблицу, укаханную в п. 1 какое нить значение. Отрабатывает Ваша процедура на севере и далее в теле вип/ард можно взять из результирующей таблицы данные и обработать их нужным Вам образом.
Лично на своем опыте могу сказать, что отчет такой обычно в разы формируется быстрее,нежели аналогичный ,сделанный с помощью средств атлантиса. Особенно это заметно на больших объемах данных.
Денис это не скептицизм .. спасибо за хорошую идею .. это действительно ИДЕЯ!
но я предпочитаю не трогать базы без крайней необходимоти, а добавлять процедуры и таблицы ради каждого отчета ..
к тому же это иследовательский вопрос .. скажем так не первой важности ... прото согласно описания галакики это можно было сделать малыми затратами...
Спасибо..
Видимо, Вы еще не сталкивались с тормозами работы отчетов на больших объемах данных БД Галактики.
Как только временные характеристики разного рода отчетов начнут поджимать критично, то озадачитесь проблемой этой посерьезнее
Сталкивался .. но оптимизацией SQL, алгоритма и загрузкой во временные таблицы памяти..
удавалось добится приемленого времени .... 30 мин .. допустим :)
На самом деле с помощью прямого скль как раз можно обойтись без этих свистоплясок с подменой существующих таблиц. Больше того, на випе можно делать свои хранимые процедуры, работающие со стандартными таблицами. Ну и наконец, на эти процедуры выдаются права в соответствии с правами на базовые таблицы.