0

我在使用 OPENQUERY 时遇到了一些问题。

我有这个简单的链接服务器 SQL:

SELECT [ITEM_SERIAL].[SERIAL_NO]
       , [ITEM_SERIAL].[SUB_SEQ_NO_FIRM]
       , [ITEM_SERIAL].[ITEM_NO]
FROM [ORA]..[SSDIGICO].[ITEM_SERIAL]
ORDER BY [ITEM_SERIAL].[SERIAL_NO]

这运行顺利,没问题...

现在我正在尝试使用 OPENQUERY 方法来提高性能,例如:

SELECT * FROM OPENQUERY(ORA,'
    SELECT [ITEM_SERIAL].[SERIAL_NO]
       , [ITEM_SERIAL].[SUB_SEQ_NO_FIRM]
       , [ITEM_SERIAL].[ITEM_NO]
    FROM [SSDIGICO].[ITEM_SERIAL]
    ORDER BY [ITEM_SERIAL].[SERIAL_NO]
')

由于某种原因,我收到以下错误消息:

链接服务器“ORA”的 OLE DB 提供程序“OraOLEDB.Oracle”返回消息“ORA-00936:缺少表达式”。消息 7321,级别 16,状态 2,第 1 行准备查询时发生错误“

有没有人知道我为什么会收到这个错误?

谢谢。

4

1 回答 1

1

Oracle 不在表或列周围使用方括号。代码应该是:

SELECT * FROM OPENQUERY(ORA,'
    SELECT ITEM_SERIAL.SERIAL_NO
       , ITEM_SERIAL.SUB_SEQ_NO_FIRM
       , ITEM_SERIAL.ITEM_NO
    FROM SSDIGICO.ITEM_SERIAL
    ORDER BY ITEM_SERIAL.SERIAL_NO
')
于 2013-04-05T17:32:39.853 回答