SQL 2000的Reporting Service在報表錯誤時會將錯誤訊息顯示在網頁上,但SQL 2005的SSRS在錯誤時只會傳回:

如需有關此錯誤的詳細資料,請導覽至本機伺服器電腦上的報表伺服器,或啟用遠端錯誤
(原文: For more information about this error, navigate to the report server on the local server machine, or enable remote errors.)

此時我們很容易被誤導聯想到web.config中的<customErrors mode="Off" />,但事實上它是個被Catch到Exception,顯示的訊息由SSRS掌控,並不算是ASP.NET層次的錯誤,因此改web.config是沒有用的。

查了一下,才發現要開啟它有點麻煩,官方KB介紹的做法是要寫一段Code存成rss,再用rs.exe執行。http://technet.microsoft.com/en-us/library/aa337165.aspx

手續有點麻煩,不過KB中有提到可以直接改ConfigurationInfo Table,我找到了一篇教學,嘿... 省事多了。

SELECT [Name],[Value]
FROM [dbo].[ConfigurationInfo]
where name like '%EnableRemoteErrors%'
GO
update [dbo].[ConfigurationInfo]
set value = 'True'
where name like '%EnableRemoteErrors%'
GO

PS: 改完後ReportServer Web Application要重啟才會生效,不想IISRESET的話,可以去重新存檔C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\web.config


Comments

# by Amos

感謝站長,非常有幫助!!!

Post a comment