如何在链接服务器上将数据从 mssql 更新到 mysql. 返回



OLE DB 提供程序"MSDASQL",用于链接服务器"MYLINKEDSERVER" 消息"找不到要更新的行。某些值可能是 自上次阅读以来已更改。

Msg 7343, Level 16, State 4, Line 1
The OLE DB provider "MSDASQL" for linked server "MYLINKEDSERVER" could not UPDATE table "[MSDASQL]". 

行集使用开放式并发,并且在上次读取或重新同步包含行后,列的值已更改。

DECLARE @Counter nvarchar(1024),
@TSQL varchar(8000)
SET @Counter = 0
WHILE (@Counter <=(select Top 1 ID from mydb.dbo.tbl1 order by ID desc))
BEGIN
set nocount on
IF EXISTS(select Top 1 ID from mydb.dbo.tbl1 where ID = @Counter)
BEGIN
SELECT  @TSQL   = 'UPDATE OPENQUERY(MYLINKEDSERVER,''select * from mydb2.tbl2 where tbl1_id is not null and tbl1_id= ' + @Counter + ''')' + 'set employees = ' + CAST((select t.employees from mydb.dbo.tbl1 as t where t.ID = @Counter) as nvarchar)
EXEC (@TSQL)
SELECT @Counter=@Counter+1
END
ELSE BEGIN
SELECT @Counter=@Counter+1
END
END

ODBC 驱动程序高级选项。 标记上不缓存结果 fof 仅向前... 返回时 LFag 匹配的行...

最新更新