Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ОШИБКА #5441 / 7 сообщений из 7, страница 1 из 1
03.09.2008, 08:31
    #35519370
Socratdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Что может означать ошибка #5441: Неопределенный символ в схеме хранения.
Возникает во время компиляции класса при невыясненных обстоятельствах, если свойство вычислимое, при вычислении sql значения используетя поле {ID} и имя свойства начинается на a-i....
Уже голову сломали! Переименовывать свойства шибко не хочется....
...
Рейтинг: 0 / 0
03.09.2008, 09:14
    #35519428
Socratdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Нашел из-за чего это получается...
Ошибка появляется, если в родительском классе есть нехранимое (трансиентное) свойство id и для вычисления sql значения используетя поле {ID}.
Вот пример:
Код: plaintext
1.
2.
3.
4.
5.
Class TEST.TestClass Extends %Persistent
{

Property id As %Integer [ Transient ];

}

Не компиляется:
Код: plaintext
1.
2.
3.
4.
5.
6.
Class TEST.TestClass2 Extends TEST.TestClass
{

Property aProp As %Integer [ SqlComputeCode = {s {aProp}={ID}}, SqlComputed, Transient ];

}

Компиляется:
Код: plaintext
1.
2.
3.
4.
5.
6.
Class TEST.TestClass2 Extends TEST.TestClass
{

Property iProp As %Integer [ SqlComputeCode = {s {iProp}={ID}}, SqlComputed, Transient ];

}

Т.е. если имя свойства начинается на a-h, то клас не компилируется. Прям-таки идиотизм какой-то! Как с этим бороться???
...
Рейтинг: 0 / 0
03.09.2008, 09:38
    #35519459
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Вообще странновато, зачем вы сделали свойство id транзиентным?

авторДоктор, когда я вот так делаю, больно! - А вы так не делайте
...
Рейтинг: 0 / 0
03.09.2008, 09:53
    #35519489
logist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Попробуйте свойству id поставить SqlFieldName=stupidId

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
03.09.2008, 10:44
    #35519636
Socratdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Блок А.Н.Вообще странновато, зачем вы сделали свойство id транзиентным?
Чтобы было!
Сделали, значит надо - не в этом суть вопроса...
...
Рейтинг: 0 / 0
03.09.2008, 10:47
    #35519648
Socratdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
logist
Попробуйте свойству id поставить SqlFieldName=stupidId

=Сергей Шутов (logist)
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
Спасибо, помогло!
...
Рейтинг: 0 / 0
03.09.2008, 11:03
    #35519722
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ОШИБКА #5441
Блок А.Н.Вообще странновато, зачем вы сделали свойство id транзиентным?
Ошибка возникает на любом имени поля. Вместо id могло бы быть и asd .

To Socratdv
В версии 2008.2 Вы можете писать уже так:
Код: plaintext
Property aProp As %Integer [ SqlComputeCode = {s {*}={ID}}, SqlComputed, Transient ];
Возможно этот синтаксис работает и в старых версиях.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ОШИБКА #5441 / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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