|
|
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
Была база mdb и в ней жил сложный запрос, имеющий в источниках другие не менее простые запросы. Все они обращались к полям формы, в которых задавались даты начала и конца оцениваемого периода. Главный запрос был источником данных для соответствующего отчета за период. Переезжаю на MSSQL 7 и проект adp. Вопрос - как быть теперь? Запросы переписал на вьюшки, но пока там вместо ссылок на поля форм стоят жесто забитые даты. Какую технологию можно использовать для динамического задания этих дат? Причем ссылки на них в запросах есть не только в разделах WHERE, но и в разделе SELECT, т.е. ServerFilter не подходит. Запрос с параметрами тоже вроде не подходит, так как параметры есть не только у главного запроса, но и у вложенных и источников. Получается, что выход в динамическом формировании запроса из строк sql в коде, но как быть с производительностью в этом случае? Такие запросы ведь не откомпилированы сервером заранее и выполняются медленнее, чем сохраненные на сервере. Или формировать временные таблицы с результатами промежуточных запросов и главный запрос основывать на них? В общем только раздумья - помогите советом, наверняка я знаю не все технологии решения такой проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:31 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
авторКакую технологию можно использовать для динамического задания этих дат? UDF ? Дочитал до конца :) Однозначно UDF - ну или ХП :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:34 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
во первых большая ошибка в выборе сервера пока не поздно ставь sql 2000. (отдельная тема, просто поверь так надо) кстати в случае с sql 2000 проблема с предкомпиляцией динамического sql тоже решается - в 2000 есть соответствующий механизм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:36 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
2 АлексейК Зачем человеку советовать динамику, если (ИМХО) можно и без нее - проблем с правами будет меньше :) (Опять же ИМХО) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:39 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
Да - а про MSSQL 2000 полностью согласен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:39 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
авторпока не поздно ставь sql 2000. (отдельная тема, просто поверь так надо) нельзя, уже поставлен 7.0 и не только моя программа его использует, контора большая. авторUDF ? Дочитал до конца :) Однозначно UDF - ну или ХП :) В 7.0 по-моему нет UDF? Или я не прав? Неужели такая неразрешимая проблема для mssql 7.0???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:42 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
авторВ 7.0 по-моему нет UDF? Или я не прав? Не знаю, врать не буду - хотя странно :( Но уж ХП-то, там точно есть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:43 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
авторнельзя, уже поставлен 7.0 и не только моя программа его использует, контора большая. это неверное мнение - ставь на тот же комп дополнительный ИНСТАНС SQL2000 будет на одной машинке крутиться и 7 и (можно несколько инстансов SQL2000 ) сможешь пользоваться и UDF и каскадными удалениями и работает шустрее а в строке коннекта вместо сервера указываешь servername - это к семерке servername/instancename - это к 2000 инстансу в запросах: Select * from AnotgherServerName.AnotgherBaseName.Dbo.TABLE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:59 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
авторНе знаю, врать не буду - хотя странно :( Но уж ХП-то, там точно есть :) папаром - подскажи чем мне помогут тут хп? У меня есть главный запрос SELECT .... FROM view1 INNER JOIN view2 ON ... Есть эти самые view1 и view2, обращающиеся в свою очередь к view3 и view4. В недрах всех этих view есть ссылки на DateBegin и DateEnd и не по одному разу. Не врублюсь как тут хп прикрутить? Брось примерчик, плиз. авторэто неверное мнение - ставь на тот же комп дополнительный ИНСТАНС SQL2000 Алексей, спасибо за подсказку, обсужу это с админом mssql, но вопрос это в первую очередь организационный и в большой конторе решается ой как не быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 11:30 |
|
||
|
ADP проект и запрос с параметрами
|
|||
|---|---|---|---|
|
#18+
Ну - замени все view1(2,3,4) на ХП И пользуй результаты ХП3 в ХП1 через временную таблицу (Insert Into #t Exec ХП3 @Dbeg, @DEnd) Да - гемор, а что делать - если нет UDF? Или Insert Into ... Exec ... в семерке тоже нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 11:40 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32542182&tid=1674216]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 361ms |

| 0 / 0 |
