powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как отключить обрезку строк
3 сообщений из 3, страница 1 из 1
Как отключить обрезку строк
    #34489925
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Как отключить обрезку строк в каше 5 (TRUNCATE), либо изменить MAXLEN по умолчанию без изменения системных классов?

2.В классе %Library.String
Код: plaintext
Parameter TRUNCATE As BOOLEAN =  0 ;
По документации этот параметр по умолчанию =1
Но обрезка все-равно делается (то есть в соответствии с документацией, но в противоречии с описанием класса)
...
Рейтинг: 0 / 0
Как отключить обрезку строк
    #34490067
newbie'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если быть более точным, то

В классе %Library.String
в cache 5.0.x:
Parameter TRUNCATE As BOOLEAN = 1;
в 5.1 and later:
Parameter TRUNCATE As BOOLEAN = 0;

Соответственно, смотря какая документация и какая версия cache...

В Caché Upgrade Checklists для версии 5.1:
GCNV.pdf
3.2.6.15 TRUNCATE Default Changed For %Library.String
Strings have, among their other parameters, settings for MAXLEN and TRUNCATE. The
value of MAXLEN specifies the maximum permissible length of the string. The value of
TRUNCATE specifies how to enforce the maximum length limit.
• If TRUNCATE is set to true, Caché will store only the first MAXLEN characters in a
variable declared as type %Library.String ignoring the rest of the string.
• If TRUNCATE is set to false, an attempt to assign more than MAXLEN characters to
the variable will return an error status.
In Caché version 5.1, the default value of TRUNCATE for new instances of %Library.String
will be false. In previous versions it had been true. Note that this applies only to new strings
created in version 5.1. Older items of type string will still have the defaults from the time
they were created."
...
Рейтинг: 0 / 0
Как отключить обрезку строк
    #34490240
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моем случае обрезка идет при передаче параметров через ODBC хранимой процедуре .
И играет роль только MAXLEN (причем максимально пропускаемая длина-255), TRUNCATE игнорируется.

То есть если в каше стоит MAXLEN=10, то обрезается до 10,
а если MAXLEN - 5000, то обрезается до 255

Что-то мне кажется, что обрезает не сервер каше, а ODBC - исходя из параметра MAXLEN (каше) и стандарта VARCHAR (макс=255). А для odbc параметр TRUNCATE не играет никакой роли - он его просто не видит.

Наверно так тогда?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как отключить обрезку строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]