Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Всем привет. У меня произшел следующий случай. В процедуре присутствует динамический запрос, который создает таблицу. Типа такого. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Вот она работает и работает себе, а в какой-то день "рраз!" и создает таблицу, но только без двух последних полей... И я никак не могу понять, вследствие чего произошло такое неожиданное для меня выполнение запроса. Кто-нибудь сталкивался с подобным? Расскажите! Пробовал гуглить, но скорее всего нормально сформулировать вопрос не получается у меня, поэтому ничего похожего не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:02 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
black_labeler, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:06 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Получается, запрос не отработал корректно из-за того, что параметры строк, из которых он состоит, не приведены к одному типу, а точнее к одинаковому размеру? Но до этого же все формировал, и сейчас формирует.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:27 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
black_labelerAndy_OLAP, Получается, запрос не отработал корректно из-за того, что параметры строк, из которых он состоит, не приведены к одному типу, а точнее к одинаковому размеру? Но до этого же все формировал, и сейчас формирует.. "If the result of the concatenation of strings exceeds the limit of 8,000 bytes, the result is truncated . However, if at least one of the strings concatenated is a large value type, truncation does not occur. " Прямая ссылка на официальную документацию . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:36 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Наверное вы знаете секретный трейс-флаг, который позволяет серверу предсказывать предназначение переменной и, соответственно игнорировать все, что не поместится в итоговую строку, но с учетом синтаксиса формируемой команды, в том числе оставлять закрывающую скобку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:42 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
black_labeler и создает таблицу, но только без двух последних полей... Подумал и таки понял, что если бы было обрезание - так закрывающаяся круглая скобка не попала бы. И таблица бы не создалась никак. Значит, у Вас берется старый вариант текста без новых двух столбцов. Вот и все. Ищете место, откуда собирается " ,col06 int ,col07 int" - это статичный текст или Вы чего-то недоговариваете, и столбцы через запятую собираются динамически из другого места? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:44 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
invmAndy_OLAP, Наверное вы знаете секретный трейс-флаг, который позволяет серверу предсказывать предназначение переменной и, соответственно игнорировать все, что не поместится в итоговую строку, но с учетом синтаксиса формируемой команды, в том числе оставлять закрывающую скобку. Конечно, но Вам не скажу. Вы слишком умный для того, чтобы использовать секретные трейсы-флаги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:45 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPКонечно, но Вам не скажу. Вы слишком умный для того, чтобы использовать секретные трейсы-флаги.Вот именно. Умные не пользуют секретных трейс-флагов, даже если знают о них. А вот некоторые "эксперты" да, могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 15:53 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
black_labeler, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 16:03 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPblack_labeler и создает таблицу, но только без двух последних полей... Подумал и таки понял, что если бы было обрезание - так закрывающаяся круглая скобка не попала бы. И таблица бы не создалась никак. Значит, у Вас берется старый вариант текста без новых двух столбцов. Вот и все. Ищете место, откуда собирается " ,col06 int ,col07 int" - это статичный текст или Вы чего-то недоговариваете, и столбцы через запятую собираются динамически из другого места? Нет-нет, все прописано таким образом, как я указал, переменная часть - это только имя таблицы. Причем размер формируемой строки запроса не превышает 1000 байт. А вот про старый вариант я не подумал. Покопаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2018, 16:07 |
|
||
|
Динамический запрос "обрезался"?!
|
|||
|---|---|---|---|
|
#18+
Да. Реально существует процедура, которая дублирует основную, и, в частности, создает таблицу без необходимых полей. Разработчики за какими-то причинами создали дублирующую процедуру, которая вызывалась при совпадении определенных параметров. Адаптируя функционал к необходимым требованиям, в дублирующей процедуре они либо забыли изменить параметры, либо поменять имя вызываемой процедуры. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2018, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1689777]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
5ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 330ms |

| 0 / 0 |
