|
Строка неограниченной длины, имеет ли предел? | ☑ | ||
---|---|---|---|---|
0
roman383
04.02.20
✎
10:52
|
1С 8.3.15 MSSQL2008
Имеем переменную ТекСтрока. Записываем в нее строку (очень большую, в блокноте сохраняю этот текст и файл занимает около 250 КБ) ТекСтрока записываем в реквизит регистра сведений (тип Строка(0)) Записываем запись регистра в базу. Читал что в MSSQL это поле имеет тип "text" который может достигать больших размеров около 2 ГБ А вот переменная ТекСтрока имеет ли предел? Замечаю, что в реквизит регистра сведений записывается не весь исходный текст, думаю, что виновата переменная "ТекСтрока" |
|||
1
roman383
04.02.20
✎
10:54
|
||||
2
ДенисЧ
04.02.20
✎
10:54
|
Ну если ты читал про MSSQL, то можешь посмотреть в структуру БД на самом сервере MSSQL... И увидеть, какой тип там создаётся...
|
|||
3
mTema32
04.02.20
✎
10:55
|
(0) Я тоже сталкивался.
Нужно было передать строку на клиент. Проблема решилась когда я эту переменную сделал реквизитом формы. |
|||
4
roman383
04.02.20
✎
10:55
|
(2) речь не про SQL, а переменную в 1С
|
|||
5
ДенисЧ
04.02.20
✎
10:56
|
(4) А переменная в 1с нам дана Богом?
Сколько памяти хватит, столько и сохранит... |
|||
6
roman383
04.02.20
✎
10:57
|
(5) если это действительно так то это хорошо (а это описано в документации?)
|
|||
7
ДенисЧ
04.02.20
✎
11:03
|
(6) А там что-то другое написано?
|
|||
8
unenu
04.02.20
✎
11:04
|
создайте бесконечный цикл по кабанению строки в переменную и убейте систему для теста
например так стр = ""; счт = 0; Пока Истина Цикл Попытка счт = счт + 1; стр = стр + "1"; Исключение Сообщить("приплыли" + счт); КонецПопытки; КонецЦикла; |
|||
9
roman383
04.02.20
✎
11:06
|
Вот, что написано в документации:
Строка (String) Описание: Значения данного типа содержат строку произвольной длины в формате Unicode. Строка закодирована в формате UTF-16. При необходимости указания в строке суррогатной пары, следует использовать два вызова функции Символ() с последовательным указанием значения каждого code unit из суррогатной пары. Литералы: Литералы строкового типа представляют собой набор символов, заключенных в кавычки. Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд (""). Кроме того, допускаются «многострочные» строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами: ● Между фрагментами, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев. ● Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки «|» (вертикальная черта). В этом варианте комментарии допускаются, если строка начинается с символа комментария «//». |
|||
10
roman383
04.02.20
✎
11:06
|
(9) ничего про память
|
|||
11
roman383
04.02.20
✎
11:08
|
(8) сейчас попробую
|
|||
12
roman383
04.02.20
✎
11:17
|
(8) в моем примере (блокноте) около 280 тысяч символов
проделал тест с вечным циклом, там уже накопилось более 5 млн символов в переменной, так что видимо (5) прав. Всем спасибо, буду искать ошибку в другом месте |
|||
13
Ненавижу 1С
гуру
04.02.20
✎
11:47
|
(12) кстати, работа с типом "текстовый документ" при будет быстрее чем со строкой
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |