我在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:缺少表达”。 Msg 7321,Level 16,State 2, 第1行准备查询“
时发生错误
有没有人知道我为什么会收到此错误?
感谢。
答案 0 :(得分: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
')