Access 2016 ODBC для Oracle: сообщение об ошибке «невозможно вставить NULL в», даже если поле не равно NULL - PullRequest
0 голосов
/ 30 ноября 2018

Поскольку Access не может ничего облегчить ...

У меня интерфейс Access 2016, подключенный к базе данных Oracle 11g.Я использую драйвер Microsoft ODBC для Oracle, потому что существует известная проблема с драйвером Oracle, не позволяющим обновления через Access.Драйвер MS Oracle до сих пор работал нормально.

Когда я создал свой интерфейс, для таблиц, к которым я подключался, в полях ROW_CREATED_BY и ROW_CREATE_DATE было установлено значение Nullable.Ну, в какой-то момент администратор БД решил установить для них значение Not Nullable.

У меня есть запрос на добавление, который вставляет новые записи в таблицу, которая до этого изменения работала нормально.Теперь, когда я запускаю его, я получаю сообщение об ошибке «ORA-01400: CANNOT INSERT null into ([имя таблицы].« ROW_CREATED_BY »»). Я обновил запрос так, чтобы поля ROW_CREATED_BY и ROW_CHANGE_DATE были заполнены во время вставки, но япо-прежнему получаю сообщение об ошибке.

У меня есть тестовая копия этой же базы данных, где эти два поля по-прежнему установлены в Nullable, и я могу вставить в нее без проблем.

Есть кто-нибудь ещестолкнулся с этим и знает обходной путь? Я ничего не нашел через Google или здесь в SO, поэтому любая помощь будет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Ну, я наконец получил ответ от администратора.Оказывается, проблема была из-за триггера, который нужно изменить.Как только он это сделал, все стало работать как надо.

Спасибо всем, кто пытался помочь мне с этим вопросом!

0 голосов
/ 01 декабря 2018

Не уверен, почему за это винят Access.Вы уверены, что не пропускаете другое поле, которое не может быть нулевым? ... к проверке работоспособности я добавлю запись, которая определенно заполняет каждое поле с точки зрения Oracle ... ... - - какой совет дает администратор базы данных Oracle ?...

...