Sql server 从SQL Server更新链接的Oracle Server时出错

Sql server 从SQL Server更新链接的Oracle Server时出错,sql-server,oracle,linked-server,Sql Server,Oracle,Linked Server,使用不同值的同一更新正在部分工作(并返回错误的@@ROWCOUNT)或完全失败,出现以下错误: OLE DB provider "OraOLEDB.Oracle" for linked server "PS" returned message "ROW-00014: Cannot update row as the data in the database has changed". Msg 7343, Level 16, State 4, Line 103 The OLE DB provide

使用不同值的同一更新正在部分工作(并返回错误的@@ROWCOUNT)或完全失败,出现以下错误:

OLE DB provider "OraOLEDB.Oracle" for linked server "PS" returned message
"ROW-00014: Cannot update row as the data in the database has changed".
Msg 7343, Level 16, State 4, Line 103
The OLE DB provider "OraOLEDB.Oracle" for linked server "PS" could not
UPDATE table "[PS]..[SYSADM].[PS_GS_PSHJ_CAR_STG]".
这是在SQL Server 2016上,使用链接到Oracle 12c的服务器

我已经尝试过用OPENQUERY替换“4部分”符号,但这会产生与本文所述完全相同的行为/结果

此语句完成并返回“(551)行受影响”-但表中只有451行符合where条件:

UPDATE [PS]..[SYSADM].[PS_GS_PSHJ_CAR_STG]
SET GS_FLAG_HJ = ' '
WHERE GS_HOST_GROUP_ID = 'CAR-2019-09-10-05.40.12.204000'

(551 rows affected)
尝试将列设置为任何值(此处使用“S”作为示例)会返回上述错误:

UPDATE [PS]..[SYSADM].[PS_GS_PSHJ_CAR_STG]
SET GS_FLAG_HJ = 'S'
WHERE GS_HOST_GROUP_ID = 'CAR-2019-09-10-05.40.12.204000'
我希望这两条语句都返回:“(451)行受影响”-但这并没有发生