我在 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]”。