sql-server-2005 – SQL Server 2005报表生成器如何动态更改数据源?

我们需要能够动态更改报表生成器中构建/管理的报表的数据源.基本上它是相同的数据库结构,但每个客户端都有自己的数据库,因此根据ClientID的参数,它需要动态转到相应的数据库.

有人有任何好的解决方案吗?

最佳答案 您可以创建一个存储过程,根据传递的参数动态地从不同的数据库中提取数据,而不是动态地查找datsource(我甚至不确定是否可能).

CREATE PROCEDURE ProcedureName 
    -- Add the parameters for the stored procedure here
    @clientName nvarchar(100)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here

declare @sql nvarchar(max)

set @sql='select * from ' + @clientName + '.dbo.Products'

exec(@sql)


END
GO
点赞