来自链接的 Firebird 数据库的动态 SQL 错误 -104

问题描述

我有一个 sql Server 数据库一个 Firebird 数据库作为链接服务器。我正在尝试在链接服务器中选择一个表,但出现以下错误

链接服务器“FIREBIRD”的 OLE DB 提供程序“MSDAsql”返回消息“[ODBC Firebird 驱动程序][Firebird]动态 sql 错误
sql 错误代码 = -104
令牌未知 - 第 1 行,第 22 列
。”。
Msg 7306,Level 16,State 2,Line 4
无法从链接服务器“FIREBIRD”的 OLE DB 提供程序“MSDAsql”打开表“de_ib”。“ROHSTOFF”。

我在我的 sql 数据库中设置了链接表的同义词。以下三个语句都返回此错误

SELECT * FROM ROHSTOFF
SELECT * FROM [dbo].[ROHSTOFF]
SELECT * FROM [FIREBIRD].[de_ib]..[ROHSTOFF]

但以下内容按预期返回数据:

SELECT * FROM OPENQUERY(FIREBIRD,'SELECT * FROM ROHSTOFF')

如果我右键单击链接表并选择脚本表为 > INSERT To > New Query Editor Window,查询编辑器中将显示以下内容

-- [FIREBIRD].[de_ib]..[ROHSTOFF] contains no columns that can be selected or the current user does not have permissions on that object.

我使用与 Firebird 数据库所有者匹配的凭据登录

为什么会出现此错误,以及如何在不使用 OPENQUERY 的情况下从链接服务器中选择数据?我有一个从 Firebird 数据库中进行选择的遗留应用程序,但我需要它从同义词中无缝地进行选择。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)