Сообщение создано: 11. 12. 2012 [09:59]
|
trotila
Юрий
Создатель темы
Зарегистрирован(а) с: 09.04.2012
Сообщения: 10
|
Здравствуйте. Обнаружил следующую ошибку при сохранении в БД PostgreSQL:
1|/WorkStation/sub_DAQ/mod_LogicLev/cntr_abcdeabcdeabcdeabcde/ | Сохранение конфигурации контроллера!
3|/WorkStation/sub_BD/mod_PostgreSQL/db_test/ | Ошибка запуска транзакции!
Лог PostgreSQL:
2012-12-11 11:31:32 MSK ERROR: current transaction is aborted, commands ignored until end of transaction block
2012-12-11 11:31:32 MSK STATEMENT: BEGIN
2012-12-11 11:36:15 MSK ERROR: value too long for type character varying(30)
2012-12-11 11:36:15 MSK STATEMENT: INSERT INTO "DAQ_LogicLev" ("ID" ,"NAME" ,"ru#NAME" ,"DESCR" ,"ru#DESCR" ,"ENABLE" ,"START" ,"REDNT" ,"REDNT_RUN" ,"PRM_BD" ,"PRM_BD_REFL" ,"PERIOD" ,"SCHEDULE" ,"PRIOR" ) VALUES (E'abcdeabcdeabcdeabcde' ,E'abcdeabcdeabcdeabcde' ,E'abcdeabcdeabcdeabcde' ,E'' ,E'' ,E'0' ,E'0' ,E'0' ,E'<high>' ,E'LogLevPrm_abcdeabcdeabcdeabcde' ,E'LogLevPrmRefl_abcdeabcdeabcdeabcde' ,E'0' ,E'1' ,E'0' )
2012-12-11 11:36:15 MSK ERROR: current transaction is aborted, commands ignored until end of transaction block
2012-12-11 11:36:15 MSK STATEMENT: BEGIN
Описание ошибки:
В модуле QTCfg после создания контроллера DAQ_LogicLev с именем "abcdeabcdeabcdeabcde" (20 символов), в следующих полях имеем значения:
Таблица параметров по шаблону: LogLevPrm_abcdeabcdeabcdeabcde (30 символов)
Таблица параметров для отражения: LogLevPrmRefl_abcdeabcdeabcdea (30 символов)
После выполнения действия "Сохранить в БД", происходит ошибка.
Соответствующие поле таблицы БД PRM_BD_REFL имеет тип character varying(30).
В поле конфигурации контроллера, модуля QTCfg Таблица параметров для отражения: строка длинной 30 символов.
В соответствующие поле таблицы БД, происходит запись строки "LogLevPrmRefl_abcdeabcdeabcdeabcde" длинной 34 символа.
Проверялось на версии PostgreSQL 8.4.9, 9.1, версии OpenSCADA 0.8.4.
[Сообщение редактировалось 1 раз(а), в последний раз 11.12.2012 в 10:00.]
|
Сообщение создано: 11. 12. 2012 [11:04]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
|
"trotila" wrote:
Соответствующие поле таблицы БД PRM_BD_REFL имеет тип character varying(30).
В поле конфигурации контроллера, модуля QTCfg Таблица параметров для отражения: строка длинной 30 символов.
В соответствующие поле таблицы БД, происходит запись строки "LogLevPrmRefl_abcdeabcdeabcdeabcde" длинной 34 символа.
Исправлено:
- DB.PostgreSQL: Добавлена обрезка строк при записи до задекларированной длины
- DAQ.LogicLev: Размер полей БД "PRM_BD" и "PRM_BD_REFL" расширен до 40 и 50 символов соответственно.
В стабильную ветку смержу позже.
Learn, learn and learn better than work, work and work.
|