有没有办法指定SSRS前后执行脚本?

时间:2015-04-24 01:49:30

标签: reporting-services ssrs-2012

我想在处理报告内容之前运行一些设置SQL,然后在最后运行一些清理SQL。例如一些开头的ALTER语句,最后还原ALTER。

这些应该按报告运行,用户将通过报告服务器的Web URL访问报告。我想知道是否可以使用BIDS在报告定义file.rdl中配置这些SQL,或者我可以在SSRS服务器端或底层数据库上配置它。怎么样?

1 个答案:

答案 0 :(得分:1)

首先我应该说,如果你需要来回查询一个表来查询你可能没有最好的过程,但我知道有时需要疯狂的东西。

您可以将DDL语句添加到数据集查询中。

此处'查询数据集我创建 Temp 表以及 SELECT 所需数据之前的其他一些流程

CREATE TABLE #TEMP_CENSUS(
    GEO_DATA GEOMETRY NOT NULL,
    VALUE DECIMAL(12, 4) NOT NULL DEFAULT 0,
    NAME NVARCHAR(50) NULL, 
    GEO  NVARCHAR(250) NULL     ) ON [PRIMARY]


INSERT INTO #TEMP_CENSUS(GEO_DATA, VALUE, NAME)
exec dbo.CreateHeatMap 20, 25, ...

不幸的是,您希望选择之后的其他操作。对于还原ALTER语句,您可能希望使用与alter语句相同的源创建另一个数据集。

在您的数据源中,选中使用单一交易框,以便按顺序执行这两个数据集(因为它们显示在数据集列表中),这样您的第一个数据集就会改变您需要的表格选择你的数据。然后第二个查询将运行到unALTER(re / de -ALTER?)表。您可能需要在第二个数据集查询中添加某种类型的SELECT,以便它有一些数据,因此SSRS不会惊慌失措 - 我没有必须运行任何DDL而不返回数据(尚)。