Stored procedures 使用MDX查询执行sql SP时出错
我正在使用openquery在SQLServer2008存储过程中执行MDX查询 I jst遵循在网站上查看的步骤。当我执行下面这样的查询时,它的工作状态很好,但使用存储过程时,它的获取错误Stored procedures 使用MDX查询执行sql SP时出错,stored-procedures,sql-server-2008-r2,mdx,openquery,Stored Procedures,Sql Server 2008 R2,Mdx,Openquery,我正在使用openquery在SQLServer2008存储过程中执行MDX查询 I jst遵循在网站上查看的步骤。当我执行下面这样的查询时,它的工作状态很好,但使用存储过程时,它的获取错误 select * from openquery (TESTLINKSERVER,' SELECT NON EMPTY { [Measures].[Duration], [Measures].[ID] } ON COLUMNS FROM [CUBEDB] ') 与SP一起得到以下错误 Incorrec
select * from openquery (TESTLINKSERVER,' SELECT NON EMPTY
{ [Measures].[Duration], [Measures].[ID] } ON COLUMNS FROM [CUBEDB] ')
与SP一起得到以下错误
Incorrect syntax near the keyword 'SELECT'.
Incorrect syntax near '{'.
我在SP中编写的代码如下
USE [TESTDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[123CUBE_SP]
AS
BEGIN
declare @mdx_query as varchar(max), @open_query as nvarchar(max), @linked_server as varchar(max)
set @mdx_query = 'SELECT NON EMPTY { [Measures].[Duration], [Measures].[ID] } ON COLUMNS FROM [CUBEDB]'
set @linked_server = 'TESTLINKSERVER'
set @open_query = 'SELECT * FROM OpenQuery('+@linked_server+','+ @mdx_query +')'
execute sp_executesql @open_query
END
我是分析服务和MDX的新手,如果您有任何错误,请纠正我
多谢各位 您在open_查询中丢失了MDX查询周围的引号。尝试按以下方式更改行:
set @open_query = 'SELECT * FROM OpenQuery(' + @linked_server + ',''' + @mdx_query + ''')'
您已在OpenU查询中丢失MDX查询周围的引号。尝试按以下方式更改行:
set @open_query = 'SELECT * FROM OpenQuery(' + @linked_server + ',''' + @mdx_query + ''')'
是的,那绝对是正确的。谢谢你,山姆,你真是太棒了。谢谢你,山姆。