|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Добрый день. Помогите разобраться с проблемой. После миграции Informix с версии 9.4UC4 на 11.10UC2 появилась странная проблема . Проблема заключается в ошибке "391: Cannot insert a null into column" при вставке пустого поля в таблицу вида : Код: plaintext 1. 2. 3. 4. 5. 6.
Вставлять пробую поле : Код: plaintext 1.
Так вот получается что не отрабатывает условие Код: plaintext
Подскажите из за чего это может быть и где копать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 12:40 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRo chargeoffind smallint , default 0 not null Плохо копировали? К чему относится default 0 not null, учитыва выделенную мною запятую? KyRo Вставлять пробую поле : Код: plaintext 1.
Так вот получается что не отрабатывает условие Код: plaintext
Подскажите из за чего это может быть и где копать ? Получается что Вы вставляете все поля и все не NULL... Поэтому получается, или вышеупомянутая запятая есть в действительности - тогда непонятно, как у вас вообще таблица создалась, или запятая - Ваша очепятка в форуме, а вы смотрите неполный DDL таблицы, и, может быть, у вас имеется триггер на insert на этой таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 12:51 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
авторПолучается что Вы вставляете все поля и все не NULL... Поэтому получается, или вышеупомянутая запятая есть в действительности - тогда непонятно, как у вас вообще таблица создалась, или запятая - Ваша очепятка в форуме, а вы смотрите неполный DDL таблицы, и, может быть, у вас имеется триггер на insert на этой таблице. Прошу прощения - это опечатка . Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 13:17 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
К сожалению вроде нашел эту ошибку на баг репорте ( И опять мы наступили на те же грабли что нужна версия 11.10.xC2W5. Какой то этот 11.10 вообще баговитый , второй баг который нашли за короткое время . баг номер IC54468 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 13:31 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Только вот непонятно зачем Вы в поле типа SMALLINT вставляете строковое ('') значение... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 13:56 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Евгений ФадеевТолько вот непонятно зачем Вы в поле типа SMALLINT вставляете строковое ('') значение... Не могу сказать , это сторонняя разработка , так было и наверно так надо ) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 17:18 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRoЕвгений ФадеевТолько вот непонятно зачем Вы в поле типа SMALLINT вставляете строковое ('') значение... Не могу сказать , это сторонняя разработка , так было и наверно так надо ) А поменять можете? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 17:54 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRoНе могу сказать , это сторонняя разработка , так было и наверно так надо )Вот в последнем я совсем не уверен. Вообще странно что он не ругается на несоответствие типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 18:29 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Евгений ФадеевKyRoНе могу сказать , это сторонняя разработка , так было и наверно так надо )Вот в последнем я совсем не уверен. Вообще странно что он не ругается на несоответствие типов.И, кстати, я проверил у себя (попробовал сделать временную таблицу с такой же как у Вас структурой) - при вставке '' он точно так же ругается с -391. А версия у меня 11.50 FC2. В общем рекомендую поправить кривой код. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 18:35 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Евгений ФадеевВообще странно что он не ругается на несоответствие типов. Так это же старая фишка информикса - неявное преобразование типов. Об этом дискутировали не раз - свои плюсы, свои минусы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2009, 22:01 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
авторА поменять можете? Нет поменять код не сможем , там вся база утыкана такими преобразованиями. Если что то сменим , при следующем апдейте софта , не соберем концы с концами. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 13:26 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRoавторА поменять можете? Нет поменять код не сможем , там вся база утыкана такими преобразованиями. Если что то сменим , при следующем апдейте софта , не соберем концы с концами. Выглядит жёстко... Варианты: 1) поменять запрос - вычёркиваем :( 2) Убрать not null со столбца (?) 3) Просить IBM добавить возможность переменной конфига сервера выключить неявное преобразование типов :) 4) перехватывать запрос по пути к серверу и править :)) 5) самим пропатчить информикс Ещё варианты будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 13:44 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRo После миграции Informix с версии 9.4UC4 на 11.10UC2 на 9.4 UC8 тоже ругается! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 13:47 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRoавторА поменять можете? Нет поменять код не сможем , там вся база утыкана такими преобразованиями. Если что то сменим , при следующем апдейте софта , не соберем концы с концами. Ёпрст, так система всё же модифицируема по функционалу - то есть обновляется и развивается? Почему исполнитель не может поменять функционал? Или они не декларируют поддержку выже IDS 9.4C4? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 13:50 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
исполнитель = разработчик ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 13:51 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
авторна 9.4 UC8 тоже ругается! Хмм , может я не совсем корректно привел пример , скорее в проблеме в текстовое поле идет вставка null значения и в таком случае должен выставится определенный флаг вместо этого null . авторЁпрст, так система всё же модифицируема по функционалу - то есть обновляется и развивается? Почему исполнитель не может поменять функционал? Или они не декларируют поддержку выже IDS 9.4C4? Нет тут несколько сложнее . Они декларируют поддержку софта отдельно от поддержки СУБД. То есть поддержку СУБД надо покупать у них отдельно. А в таком случае на запрос решения проблемы, они просто ответили что "Это известная проблема Informix , мы с ней сталкивались. Обращайтесь в вашу поддержку Informix " И в общем то полностью правы . С какой стати им тратить человеческие ресурсы для изменения кода и тестирования изменений , только из за того что наше руководство не соизволит выделить ресурсы на официальную поддержку. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 14:19 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRo Код: plaintext 1. 2. 3.
Вставлять пробую поле : Код: plaintext 1.
Так вот получается что не отрабатывает условие Код: plaintext
Подскажите из за чего это может быть и где копать ? И напоследок - вдруг чего пропустили: default 0 не отрабатывает (и никому не должен), потому что в INSERT явно присутствует chargeoffind.. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 14:31 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRo Хмм , может я не совсем корректно привел пример , скорее в проблеме в текстовое поле идет вставка null значения и в таком случае должен выставится определенный флаг вместо этого null . Вот тут я думаю вы тут всех нас запутали.... Какое текстовое поле? В таблице его нет, в клиенте что-ли? Можно конечно, и на Informix Client чего подумать - но это из области фантастики... Или вы при копировании примера ещё где-то ошиблись? KyRo "Это известная проблема Informix , мы с ней сталкивались. Обращайтесь в вашу поддержку Informix " ну покопаем - может и действительно предложенный параметр уже существует :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 15:16 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Давайте что бы не вводить больше не кого в заблуждение , я приведу в понедельник схему живой таблицы с которой произошла проблема и поля которое выдало данную ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 15:31 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Данный пример , это моя попытка с повторить проблему , наверно не совсем удачная. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2009, 15:38 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Привожу как и говорил пример живой таблицы. Затык пошел по полю archflag Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2009, 11:12 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Ваша "настоящая" таблица ничем, принципиально, не отличается. Проблема в данном случае в том, что криворукие разработчики того софта, который вы используете написали кривой код (в частности заложились на неявные преобразования типов), который, вероятно, и работал со строго определенными версиями СУБД, клиента и т.п., но с точки зрения общей инженерной дисциплины работать не должен. И при минимальных изменениях среды он работать перестал. В результате вы имеете проблемы. Лично от себя могу предложить два варианта: 1. Таки поправить кривой код на нормальный 2. Вооружиться ложкой и начать выедать мозг поставщику ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2009, 12:05 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
Евгений ФадеевВаша "настоящая" таблица ничем, принципиально, не отличается. Проблема в данном случае в том, что криворукие разработчики того софта, который вы используете написали кривой код (в частности заложились на неявные преобразования типов), который, вероятно, и работал со строго определенными версиями СУБД, клиента и т.п., но с точки зрения общей инженерной дисциплины работать не должен. И при минимальных изменениях среды он работать перестал. В результате вы имеете проблемы. Лично от себя могу предложить два варианта: 1. Таки поправить кривой код на нормальный 2. Вооружиться ложкой и начать выедать мозг поставщику Нет код , править нельзя. Потом при следующем обновлении все вылезет боком, а вот второй вариант я бы с удовольствием , но не мои это выходит за рамки моих полномочий , хотя с огромным бы удовольствием ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2009, 12:13 |
|
Help Error 391: Cannot insert a null into column
|
|||
---|---|---|---|
#18+
KyRo, спросите хоть у разработчиков, что по их религиозным убеждениям должно сохраниться в результате в этом поле? 0? Или пустая строка? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2009, 13:36 |
|
|
start [/forum/topic.php?fid=44&msg=36362149&tid=1607676]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 167ms |
0 / 0 |