Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Пробую в Централе выполнить запрос с параметрами: Код: plaintext на что он мне отвечает: ISQL Error, "Not enough values for host variables". Хотя этот же самый запрос нормально выполняется из клиентской программы. Может быть, в Централе запросы с параметрами вообще не разрешены? В документации что-то ничего на эту тему не могу найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 05:57 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Чуть не забыл. АСА 9.0.2.2451 Централ 4.3.0.2387 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 06:03 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Ну во первых Вы не в Central, а ISQL судя по ошибке пытаетесь выполнить запрос (вообще то это разные программы). Во вторых непонятен вопрос про параметры, что конкретно Вы хотите - то ли создать повторно используемый запрос/код в виде хранимой процедуры, то ли просто написать себе повторно используемый параметризованных скрипт для ISQL, чтобы обеспечить себя шаблонами: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. P.S. Не нужно путать клиентское приложение и серверную часть. Когда Вы на клиенте описываете в запросе параметр :aaa, то Вы тем самым фактически заставляете во время выполнения запроса драйвер доступа поменять вместо :aaa на установленное значение (фактически отпарсить текст запроса) и послать на сервер для выполнения (что кстати полностью аналогично шаблону ISQL). Когда же Вы описываете параметр хранимой процедуры, то Вы описываете реальную переменную, которую можно полноценно использовать в коде хранимой процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 06:22 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
ASCRUSНу во первых Вы не в Central, а ISQL судя по ошибке пытаетесь выполнить запрос (вообще то это разные программы). Посып а ю голову раскалённым пеплом. Блин, даже и не подумал, что это не одна программа. Потом вспомнил, что ЕХЕ-шники разные! Там ещё и С-шный экзешник лежит. Точно. ASCRUSВо вторых непонятен вопрос про параметры, что конкретно Вы хотите - то ли создать повторно используемый запрос/код в виде хранимой процедуры, то ли просто написать себе повторно используемый параметризованных скрипт для ISQL, чтобы обеспечить себя шаблонами: Нет, я просто веду отладку запросов. Хранимая процедура тут абсолютно не причём. В клиентском приложении запрос с параметром выглядит именно так, как я его привёл в первом сообщении. Скопировал его в ИСКЛ и попытался запустить, тут-то и получил сообщение об ошибке. Просто в той СУБД, с которой я работал раньше, запросы с параметрами работали совершенно одинаково и из клиента, и из административной консоли (аналога ИСКЛ). То есть я сперва полностью отлаживал запрос в консоли, а потом просто копировал его в приложение. Выходит, в ИСКЛ такой метод не проходит, можно пользоваться только оператором PARAMETERS. Почитал его описание - он может быть использован только в скрипте. Не очень удобно получается - сперва пишем отдельный скрипт, отлаживаем, а потом заменяем все параметры {aaa} на :aaa для того, чтобы вставить отлаженный скрипт в клиентскую программу. ASCRUSP.S. Не нужно путать клиентское приложение и серверную часть. Когда Вы на клиенте описываете в запросе параметр :aaa, то Вы тем самым фактически заставляете во время выполнения запроса драйвер доступа поменять вместо :aaa на установленное значение (фактически отпарсить текст запроса) и послать на сервер для выполнения (что кстати полностью аналогично шаблону ISQL). Так почему бы ИСКЛ не подставлять точно так же фактическое значение вместо параметра :aaa ? Какой смысл заложен в отказе от поддержки такого синтаксиса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 06:57 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Евгений_СТВыходит, в ИСКЛ такой метод не проходит, можно пользоваться только оператором PARAMETERS. Почитал его описание - он может быть использован только в скрипте. Не очень удобно получается - сперва пишем отдельный скрипт, отлаживаем, а потом заменяем все параметры {aaa} на :aaa для того, чтобы вставить отлаженный скрипт в клиентскую программу. Я бы сказал, в ISQL PARAMETERS все таки не для отладки, а именно шаблонов сделан - и это очень удобно. К примеру, у нас есть серия однотипных триггеров - делаем шаблон с параметром имени таблицы с CREATE TRIGGER и при вызове шаблона с ISQL сразу на указанную таблицу получаем сгенерированный триггер. Для отладки же клиентских запросов согласен - не подходит. Евгений_СТТак почему бы ИСКЛ не подставлять точно так же фактическое значение вместо параметра :aaa ? Какой смысл заложен в отказе от поддержки такого синтаксиса? Ну а кто мешает то на своем же средстве построения клиентских приложений написать небольшую утилитку, в которой можно написать или вставить с буфера запрос, занести его параметры, выполнить и отладить через тот же драйвер доступа, что и используется в клиентском приложении ? Поэтому это будет даже правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 07:25 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Спасибо за разъяснения! Теперь стало понятнее, для чего всё это нужно. ASCRUSНу а кто мешает то на своем же средстве построения клиентских приложений написать небольшую утилитку Так это же делать надо... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 07:43 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
ааа заменяется в isql реальным значением, проверяется работа скрипта. Если работает на значении 24, будет работать и на 25 и на 26.... Походу отслеживаются результаты выборки и тестируется логика - должен в итоге быть такой набор результатов или в коде баг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 10:04 |
|
||
|
Запрос с параметрами в Централ
|
|||
|---|---|---|---|
|
#18+
Vlad_5181ааа заменяется в isql реальным значением, проверяется работа скрипта. Если работает на значении 24, будет работать и на 25 и на 26.... Не всегда. У меня достаточно много запросов, завязанных на диапазоны дат. А самое главное - если в запросе это самое значение "25" должно быть указано в 4-5 местах? Тогда при тестировании со значением "26" я должен буду вручную менять его по всему тексту запроса. Наверное, всё-таки удобнее будет в целях отладки вставлять в запрос вместо :aaa локальную переменную @aaa. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 02:42 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33714266&tid=2012877]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 367ms |

| 0 / 0 |
