Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.09.2007, 10:21
|
|||
|---|---|---|---|
|
|||
ограничения на размер значения текстовой переменной |
|||
|
#18+
Динамически формирую текст запроса. Нужно переменной присвоить какое-то текстовое значение. Столкнулась с тем, что независимо от типа переменной, присваивается только значение 160 символов, остальное обрезается. Подскажите, разве есть ограничения на размер присваиваемого значения переменной типа text (или long varchar)? И как вообще переменной присвоить "длинное" текстовое значение. примерно такой скрипт: begin declare @s text; // long varchar(5000) тоже не помогло set @s = 'очень длинная строка длиной больше 160 символов'; select @s; // выводит только строку длиной 160 символов, дальше обрезает end и дело не в длине отображаемого текста (в опциях ISQL Trancation length = 5000), значение переменной на самом деле обрезается ASA 8.0.2.4424 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2007, 14:29
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
А как вы определяете что значение обрезалось ? Попробуйте после присваивания посмотреть длину переменной, ибо визуальные утилиты могут просто отображать обрезано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2007, 14:58
|
|||
|---|---|---|---|
|
|||
ограничения на размер значения текстовой переменной |
|||
|
#18+
Как я говорила, я динамически формирую текст запроса. При запуске его получила ошибку, и увидела, что переменная, которая подставляется в текст запроса, "урезана", вычислила ее длину - 160 символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2007, 16:40
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
Может дело в содержимом строки ? какой символ на 161 позиции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.09.2007, 16:46
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
Попробуйте склеить строчки set @s = 'так чтобы ' + 'в каждом куске ' + ' было менее 160 символов' вместо + можно || ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 07:05
|
|||
|---|---|---|---|
|
|||
ограничения на размер значения текстовой переменной |
|||
|
#18+
на 161 позиции все время разные символы, но все это текстовые значения. Пробовала склеивать из кусочков размером < 160, все также - значение обрезается. И что больше всего поражает, рядом есть переменная sql_text так же типа text, в которой я постепенно формирую запрос, так вот к ней нормально добавляются значения, т.е. sql_text := sql_text + @s - получаю текст запроса размером где-то более 4000 символов, т.е.значение не обрезается, но вот с переменной @s - фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 08:09
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
тогда вставьте эту строку сюда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 10:24
|
|||
|---|---|---|---|
|
|||
ограничения на размер значения текстовой переменной |
|||
|
#18+
сначала идет курсор по таблицам, потом кусочек: set @where = @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 37)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 37) ' || ' and ' + @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 44)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 44) ' || ' and ' + @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 49)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 49) '; sql_text = sql_text + @where; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 10:32
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
еще не проверял, но использовать в качестве имени переменной зарезервированное слово не стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 10:35
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.09.2007, 14:18
|
|||
|---|---|---|---|
ограничения на размер значения текстовой переменной |
|||
|
#18+
Попробуйте пропачить сервак. Последний билд: 8.0.3.5570 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.09.2007, 09:59
|
|||
|---|---|---|---|
|
|||
ограничения на размер значения текстовой переменной |
|||
|
#18+
после того, как переменную @pk объявила как text (а так же все переменные, с которыми происходит конкатенация в процессе формирования текста запроса) все стало нормально. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=55&mobile=1&tid=2011910]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 343ms |

| 0 / 0 |
