SSRS报表管理器:链接的报表行为异常,但是SQL查询工作正常

问题描述 投票:0回答:2

我已经在Report Builder中创建了一个报告(称为主数据库)和钻取(称为辅助数据库)。每个都有一个SQL语句。

在SQL Server Management Studio中执行时,SQL语句按预期工作。

但是,将Primary.rdl和Secondary.rdl上传到报表管理器(Internet Explorer中的Web界面)时,它们在运行时不会生成正确的数据。

因此,我认为问题不在于SQL语句。我认为这与报表管理器有关。

主SQL语句:

此语句从多个表中获取一堆用户数据,并检查其密码是否可接受。它将填充密码未通过检查的用户列表。

This is pseudocode so pardon inconsistencies in var names

with details as (
select u.userid
     , u.password
     , u.firstname
     , u.lastname
     , u.userdescription
     , u.status
     , u.lastlog
     , dbo.IsPassswordAcceptable(u.userid, u.password) as passStatus
  from masterListOfUsers as u
)
select d.*, p.datavalue
  from details as d
 left join passwordDetailList as p
    on p.keyvalue = d.passStatus
   and p.datatype = 'ERRORMESSAGE'
 where d.passStatus <> 1 
   and d.passStatus <> -5 
   and d.status = (@USERSTATUS) -- only user ids in use
     ;

次要SQL语句:

此语句是一个追溯。运行报告的人员可以单击上面列表中的用户ID。在其中填充该用户ID的联系信息的位置执行钻取。

This is pseudocode so pardon inconsistencies in var names

   SELECT 
      m.userid 
    , c.address
    , c.city 
    , c.state 
    , c.zip 
    , c.cphone 
 FROM userMasterList AS m
left join userDetailList AS d 
   ON d.userid = m.userid 
left join anotherList as e on d.fullkey = e.fullkey 
left join yetAnotherList AS c 
WHERE m.userid = @USERID;

预期结果:

[当用户运行主服务器时,将填充密码错误的用户列表。可以单击每个用户的用户ID,这将触发辅助用户填充与该用户ID相关联的位置/联系信息。

实际结果:

在单击用户ID时,辅助服务器无法填充与该用户ID相关的任何位置/联系信息。发生仅在某些时候。其他时候,它工作正常。

我列出了这些“空”用户ID并在Management Studio中运行了辅助数据库的SQL语句,并填充了所有预期的位置/联系信息。

我尝试过的解决方案:

我绝对感到难过。我对SQL语句进行了三重检查,并在Management Studio中对其进行了测试。我已经将两个.rdl文件重新上传到了报表管理器。我已经通过“报表管理器”中的“创建链接的报表”选项将辅助数据库分配给主数据库,还通过报表构建器的“操作”>“转到报表”选项中的“还”。

我还能做什么?

我已经在Report Builder中创建了一个报告(称为主数据库)和钻取(称为辅助数据库)。每个都有一个SQL语句。在SQL Server Management Studio中执行时,SQL语句...

sql-server reporting-services ssrs-2008 reportbuilder3.0 reportmanager
2个回答
2
投票

这实际上不是答案,而是一列在相同情况下我将要进行的工作。


0
投票

经过数小时的修改,最终导致问题是某些查询工具(而不是SQL语句本身)已将所有开头和结尾空格的userID修剪掉了。因此,当在报表管理器中运行最终报表时,将使用多余的空格查询数据,导致找不到数据。

修剪数据点后已解决此问题。

固定的辅助SQL语句:

© www.soinside.com 2019 - 2024. All rights reserved.