SSRS数据集使用带有udf“fc_FileExists”的查询来检查用户的照片是否存在。如果照片不存在,将使用匿名照片。 (匿名照片与其他照片位于同一文件夹中)。此ssrs报告在Intranet域环境中运行。当我运行此报告时,我可以看到照片。但其他一些用户却做不到。他们只看到匿名照片。代码如下所示。
CASE WHEN dbo.fc_FileExists('\\domain\folder\'+ID+'.jpg') = 1
THEN 'file:\\domain\folder\'+ID+'.jpg'
WHEN dbo.fc_FileExists('\\domain\folder\'+ID+'.jpg') = 0
THEN 'file:\\domain\folder\anonymous .jpg'
问题出在某些用户身上,他们总是会收到匿名照片。这意味着照片可能存在,但dbo.fc_FileExists总是返回0.但为什么我可以看到照片。
请帮助
AND fc_FileExists的源代码如下:
CREATE FUNCTION [dbo].[fc_FileExists](@path varchar(8000))
RETURNS BIT
AS
BEGIN
DECLARE @result INT
EXEC master.dbo.xp_fileexist @path, @result OUTPUT
RETURN cast(@result as bit)
END;
答案 0 :(得分:0)
这是两件事之一:
如果可能的话,以显示匿名照片的用户身份连接到SQL查询分析器,然后运行该功能 - 任何错误?如果没有,作为同一个用户尝试使用Windows资源管理器查找用户图片。
答案 1 :(得分:0)
我认为这不是好方法。实际上ssrs可以直接使用System.IO.File.Exists。所以我们不必在sql server端做这个工作。我认为表现应该更好。