Связанный сервер INSERT, UPDATE и DELETE завершается с ошибкой "Неизвестная ошибка поставщика"

Неожиданно происходит сбой INSERT, UPDATE и DELETE для определенного файла (таблица в удаленной системе, которая, как я считаю, представляет собой AS/400).

Связанный сервер, который мы используем, настроен в SQL Server и использует источник данных ODBC (DSN). Источник данных - это "источник данных ODBC для iSeries Access для Windows".

Только одна таблица имеет эту проблему. Мы можем делать вставки и обновления в других таблицах, используя тот же связанный сервер, без каких-либо ошибок, и SELECT все еще работают для проблемной таблицы.

Мы получаем эти сообщения для операторов INSERT и UPDATE (имена серверов и БД заменены в приведенном ниже коде):

Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "MYSERVER" reported an error. 
The provider did not give any information about the error.
Msg 7343, Level 16, State 2, Line 1
The OLE DB provider "MSDASQL" for linked server "MYSERVER" could not INSERT INTO 
table "[MYSERVER].[MYDB].[DMPCOM].[DMPXIF]". Unknown provider error.

И DELETE дает это сообщение:

The OLE DB provider "MSDASQL" for linked server "MYSERVER" could not delete from 
table ""MYDB"."DMPCOM"."DMPXIF"". There was a recoverable, provider-specific 
error, such as an RPC failure.

Если у вас есть какие-либо подсказки, пожалуйста, не стесняйтесь ответить на этот вопрос.

Спасибо Андреас

1 ответ

Причиной ошибки было то, что журналирование было отключено для файла AS400, к которому мы подключаемся с SQL Server, используя связанный сервер и источник данных ODBC iSeries. Это также отключило контроль обязательств.

Однако установка фиксации "Коммутировать немедленно (*NONE)" в источнике данных ODBC iSeries не помогла. (Возможно, в этом есть нечто большее, чем изменение этой настройки.)

Администратор базы данных системы AS/400 воссоздает таблицу с ее настройками по умолчанию, включая ведение журнала и управление фиксацией, а затем все вернулось в нормальное состояние и вставило, обновило и удалило работоспособность из соединения со связанным сервером.

Другие вопросы по тегам