我有一個從鏈接服務器檢索數據的存儲過程。我可以通過設置單個變量來運行存儲過程。結果以SQL 2008 R2數據庫中的表格結尾。 SSRS中的數據集使用EXEC dbo.ImagePlaceholder @Name命令調用此存儲過程。這裏是存儲過程:使用SQL存儲過程的SSRS
USE [LagoReporting]
GO
/****** Object: StoredProcedure [dbo].[ImagePlaceholder] Script Date: 03/27/2013 14:22:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:Tim Vavra
-- Create date: 3/27/13
-- Description: Stored procedure to create the table necessary to produce a report that shows all images that are listed
-- as placeholders in Lago. Included in table will be any job which has a street date greater than today - 30.
-- =============================================
ALTER PROCEDURE [dbo].[ImagePlaceholder]
(
@Name varchar(80)
)
AS
BEGIN
SET NOCOUNT ON;
SET FMTONLY OFF;
declare @SQL nvarchar(4000)
declare @KATBEZC varchar(80)
drop table dbo.ImagePH
set @KATBEZC = @Name
Create Table #ActiveTemp(
media nvarchar(max),
div nvarchar(max),
folio nvarchar(max),
pgblock nvarchar(max),
item nvarchar(max),
itemname nvarchar(max),
photoinstruction nvarchar(max),
photodirection nvarchar(max),
PH nvarchar(100),
imagename nvarchar(max))
Create Table [dbo].[ImagePH](
media nvarchar(max),
div nvarchar(max),
folio nvarchar(max),
pgblock nvarchar(max),
item nvarchar(max),
itemname nvarchar(max),
photoinstruction nvarchar(max),
photodirection nvarchar(max),
PH nvarchar(100),
imagename nvarchar(max))
set @SQL=
N'insert into #ActiveTemp
select media, div,folio,pgblock,item, itemname, photoinstruction, photodirection,PH,imagename
from OPENQUERY(LAGO,
''SELECT DISTINCT KATBEZC media,
art.artvf1c div,
CONCAT(pagprec,pagpags) folio,
pro.probezc pgblock,
art.artvf2c item,
art.artbezc itemname,
art.artvf7c photoinstruction,
art.artvf6c photodirection,
bld.bldtmps PH,
bld.bldfnmc ImageName
FROM dok,
pro,
art,
aez,
kat,
PAG,
kav,
kom,
bld,
boz
WHERE kavkatkeyi = katkeyi
AND artkavkeyi = kavkeyi
AND aezartkeyi = artkeyi
AND aezkavkeyi = artkavkeyi
AND prokeyi = aezprokeyi
AND prokavkeyi = aezkavkeyi
AND komprokeyi = prokeyi
AND (komkavkeyi = 0 OR komkavkeyi = prokavkeyi)
AND dokkeyi = komdokkeyi
AND (prosnei = doksnli OR prosnei = doksnei)
AND dokkeyi = pagdokkeyi
AND PAGPAVKEYI = KATPAVKEYI
and bldtmps = 1
and bozbldkeyi = bldkeyi
and bozobjkeyi = artkeyi
and katbezc = ''''' + @Name + '''''
and boztyps = 2
Group by kat.katbezc,
CONCAT(pagprec,pagpags),
art.artvf1c,
pro.probezc,
art.artvf2c,
art.artbezc,
kom.kombezc,
art.artvf7c,
art.artvf6c,
bld.bldtmps,
bld.bldfnmc
'')'
exec (@SQL)
insert into dbo.ImagePH
select * from #ActiveTemp
END
雖然當我查詢數據庫dbo.ImagePH擁有所有正確的信息,我沒有得到的數據發回的報道。
在此先感謝您的幫助。對於代碼格式抱歉。
每次運行報告時,都要創建Table [dbo]。[ImagePH]?僅供參考,您無法更改SSRS中的數據 – SQLMason 2013-03-27 19:39:38