我们需要能够动态更改报表生成器中构建/管理的报表的数据源.基本上它是相同的数据库结构,但每个客户端都有自己的数据库,因此根据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