我正在尝试通过ODBC对我们的ERP数据库进行查询。文档指南建议我们使用OPENQUERY发送查询。
这是我的示例查询
SELECT
Q.Part_No,
Q.[Description],
Q.Part_Type
FROM OPENQUERY
(
LINKEDSERVER,
'
SELECT
P.Part_No,
P.[Description],
P.Part_Type
FROM LINKEDSERVER...Part_V_Part AS P
WHERE P.Part_No = ''2712768''
'
) AS Q
当我尝试运行该查询时,我收到以下错误
OLE DB provider "MSDASQL" for linked server "LINKEDSERVER" returned message "[LINKED][ODBC Plex ODBC Report Data Source driver][OpenAccess SDK SQL Engine]Syntax error in SQL statement. syntax error line 1 at or after token <LINKEDSERVER>.[0]".
Msg 7321, Level 16, State 2, Line 1
An error occurred while preparing the query "
SELECT
P.Part_No,
P.[Description],
P.Part_Type
FROM LINKEDSERVER...Part_V_Part AS P
WHERE P.Part_No = '2712768'
" for execution against OLE DB provider "MSDASQL" for linked server "LINKEDSERVER".
有人可以帮我吗?我之前从未使用过OPENQUERY,但我正在直接处理示例文档中的示例。
答案 0 :(得分:1)
应该是这样的
SELECT
Q.Part_No,
Q.[Description],
Q.Part_Type
FROM OPENQUERY
(
LINKEDSERVER,
'
SELECT
P.Part_No,
P.[Description],
P.Part_Type
FROM DatabaseName.SchemaName.Part_V_Part AS P
WHERE P.Part_No = ''2712768''
'
) AS Q
将DatabaseName和SchemaName替换为您的实际数据库名称和schemaname(可能是dbo)
您不需要查询中的链接服务器名称
看看Having Fun With OPENQUERY And Update,Delete And Insert Statements的一些例子