1

我在 4D Server 中运行了一个 4D 数据库,并运行了 4D Sql Server。在另一台 Windows 机器上,我为它设置了一个 ODBC 数据源。在第二台机器上,在 SQL Server Management Studio 中,我使用该 ODBC 数据源创建了一个链接服务器。我可以使用 OPENQUERY 通过该链接服务器成功查询 4D 记录,但我无法更新或删除那些相同的 4D 记录。

这将输出预期的 4D 数据:

SELECT * FROM OPENQUERY([4DTest2], 'SELECT UserID, FirstName, LastName FROM [Users] WHERE UserID = 23990')

这会出现错误:

UPDATE OPENQUERY([4DTest2], 'SELECT UserID, FirstName, LastName FROM [Users] WHERE UserID = 23990') SET FirstName = 'Doug'

错误是:

链接服务器“4DTest2”的 OLE DB 提供程序“MSDASQL”返回消息“数据提供程序或其他服务返回 E_FAIL 状态。”。消息 7343,级别 16,状态 4,第 2 行链接服务器“4DTest2”的 OLE DB 提供程序“MSDASQL”无法更新表“[MSDASQL]”。

4

1 回答 1

2

我使用这个技巧解决了 MySQL 的类似问题。诀窍是取消选中 ODBC 选项“Force Forward Only Cursor”

来源:INSERT 到链接服务器的问题

于 2019-10-22T20:28:53.247 回答