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

2.В классе %Library.String
Код: plaintext
Parameter TRUNCATE As BOOLEAN =  0 ;
По документации этот параметр по умолчанию =1
Но обрезка все-равно делается (то есть в соответствии с документацией, но в противоречии с описанием класса)
...
Рейтинг: 0 / 0
26.04.2007, 15:00
    #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
26.04.2007, 15:39
    #34490240
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отключить обрезку строк
В моем случае обрезка идет при передаче параметров через ODBC хранимой процедуре .
И играет роль только MAXLEN (причем максимально пропускаемая длина-255), TRUNCATE игнорируется.

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

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

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


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