簡體   English   中英

SSRS Microsoft Reporting Services-由於用戶權限而在報表創建過程中可能出現問題?

[英]SSRS Microsoft Reporting services - Possible problems during report creation due to user permissions?

我在生成報告時遇到一個奇怪的問題,這是我的頭,這是場景:

創建了一個內部帶有兩個圖像的報告,它們都是帶有兩個不同參數(img01和img02均為文本)的“外部”鏈接,它們指向SSRS數據庫上的圖像位置,如下所示:

img01-/images/img01.jpg
img02-/documents/images/img02.jpg

為參數img01定義一個包含“鏈接”的默認值,對於img02,每次執行報告時都需要圖像路徑。

這個想法是通過存儲過程(xp_cmdshell)調用帶有.rss配置文件的rs.exe命令,以將報告呈現為.pdf,這不是問題,因為我已經掌握了這部分的所有信息。

發生了什么...

一種。 如果我通過瀏覽器(ssrs界面,因此沒有自動渲染)執行報告,則不會顯示兩個圖像,如果我為img02插入了錯誤的路徑,則會顯示紅色的小“ X” apperas

如果我采用從調用rs.exe命令的存儲過程中生成的字符串並將其在CMD Shell中啟動,則報告將在.pdf文件中生成,同時顯示兩個圖像,並且如果我為img02插入了錯誤的路徑紅色的小“ X” apperas

C。 我啟動了存儲過程,所以現在xp_cmdshell負責運行rs.exe命令,這時報告是在.pdf文件中生成的,但是只有img01(帶有“默認鏈接”的那個)可見。 img02無論路徑正確還是不正確,我始終會有紅色的“ X”

-- command used
set @cmd = 'rs.exe -i C:\try.rss -s http://url/reportserver -v img02=' + @img02 + ' -e Exec2005 -l 600'
insert @output (output) exec @rc = <database>..xp_cmdshell @cmd

[精確點C的完整順序如下
1- php頁面,以管理員身份連接到數據庫(sa)
2-調用存儲過程(rs.exe)
3-報告生成
我省略了php部分,因為無論是從php運行還是直接從Management Studio運行存儲,結果都是相同的。]

我試圖更改“ rs.exe”的安全權限,以授予對“ NT SERVICE \\ MSSQLSERVER”的完全訪問權限,但未進行任何更改。

我嘗試使用“ proxy_account”運行xp_cmdshell(不確定是否以正確的方式完成了所有操作,我從沒玩過這種事情,所有的“操作方法”似乎都有些粗略),但沒有改變。

如果有人對此事有任何想法,將不勝感激:)(同樣,如果這是潛在的安全威脅,至少我可以從某個地方入手)。

如果您需要更多詳細信息,或者我的描述中的內容有些粗略,請告訴我,我將嘗試更加完整。

問候,樓。

由於您遇到的所有問題,我會放棄使用rs.exe。

取而代之的是,在報表管理器中,我將定義一個新計划(通過“站點設置” /“計划”)。

然后,我將為以PDF格式呈現的報告添加訂閱。 我會將該訂閱附加到先前定義的新計划中。

然后,我將更改存儲過程以調用SSRS過程AddEvent,例如

-- Execute a Shared Schedule: DECLARE @ScheduleID UNIQUEIDENTIFIER DECLARE @ScheduleName AS VARCHAR(128) = 'My SharedSchedule Name' -- Get the Schedule identifier SET @ScheduleID = (SELECT ScheduleID FROM ReportServer.dbo.SCHEDULE WHERE NAME = @ScheduleName) -- pass the Schedule identifier to the Event insert procedure EXEC ReportServer.dbo.AddEvent @EventType='SharedSchedule', @EventData=@ScheduleID

參考:

http://www.sqlblog.nl/2013/10/dynamic-refresh-ssrs-cache-using-sql/

我終於弄清楚了這是問題所在。 所有未在報表中顯示並通過“參數”傳遞的圖像,這些圖像是使用外部源動態生成的,然后通過存儲過程上傳到ssrs “目錄”表中。 當我參數化用於將圖像上傳到ssrs數據庫的所有信息時,我還需要指定一個字段,該字段定義單個文件的安全性屬性。 因此,如果從根本上來說讓我感到羞恥,則該文件夾可由(例如)管理員和來賓瀏覽/編輯,但僅為管理員設置了文件安全性,則該圖像將不會顯示在報告中。 ssrs數據庫中引用此屬性的列是報告數據庫的“目錄”表中包含的“ PolicyId”

最后,我所做的是使用admin和guest權限更改了現有文件的安全屬性,復制了“ PolicyId”列中生成的數字代碼,並且每次運行創建此映像的存儲過程時,我都會將此代碼附加到字段,保留文件的安全策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM