Я работал над программой для генерации счетов-фактур вендоров, где вызывается программный код библиотеки для вставки данных в таблицу t_job, которая хранит записи для некоторых важных заданий, таких как создание заказа на поставку и т. Д.Невозможно вставить нуль в столбец - Informix
Проблема заключается в том, что этот код библиотеки для вставки данных в таблицу t_job
вызывается из множества различных программ 4ge и от разных пользователей, но у меня возникает особая проблема для вновь созданного пользователя.
Я получаю сообщение об ошибке «Невозможно вставить нуль в столбец (t_job.username)» для этого пользователя.
Программа, связанная с вставкой данных в t_job, содержит некоторые строки кода, которые, как мне кажется, стоит упомянуть относительно проблемы.
select username into _user from sysusers where username = user
insert into t_job values(_user,
_job_key1,
_job_key2,
_cd,
today,
_time)
Это сводит меня с ума, потому что только в этом случае имя пользователя для t_jobs отображается как null.
Я посмотрел в таблицу sysusers в базе данных sysuser и нашел 2 строки там, как показано ниже:
username informix
usertype D
priority 9
password
defrole
username public
usertype C
priority 5
password
defrole
Любая помощь в этой связи высоко ценится.
Спасибо за ответ. –
Моя проблема сохраняется, потому что я хотел понять, почему код вставки бросает ошибку только в случае нового пользователя, в то время как тот же код работает для многих других пользователей. Также я бы отказался от изменения библиотечная программа, которая отлично работает –
Я не вижу достаточно кода, чтобы узнать, почему он работает для других пользователей. Это не имеет большого смысла. Причина для исправления кода заключается в том, что он работает некорректно все время, и он делает ненужную работу. –