在水晶报表中可以把sql中的数据库名当为参考传入,如:select * from {?corpdb}..Empl那么在Reporting Services中可以实现吗?
主要是根据登入用户的不同会使用不同的数据库. 比如用A登入进去此sql就为select * from A..Empl
比如用B登入进去此sql就为select * from B..Empl

解决方案 »

  1.   

    应该可以,使用动态SQL语句试试看
      

  2.   

    RS权限控制是集成到windows认证的,可以通过windows用户来访问报表。
      

  3.   

    先在定义一个报表参数:DataBase;
    然后写sql语句中用到这个参数(以sqlserver为例):="select * from " + CStr(Parameters!PONo.Value) + ".table1 "。
      

  4.   

    Sorry,刚才最后一句写错了:
    ="select * from " + CStr(Parameters!DataBase.Value) + ".table1 "
      

  5.   

    汗!
    以前都不知道有这个个事情。
    呵呵,厉害,如果按照2005的功能把数据库名改成架构,访问一个数据库。

    select * from database.A.tableA
    select * from database.B.tableA
    就可以了,我一直以为作用不大呢。看来还真有这么用的,呵呵。
    开开眼吧,我井底之蛙啊Q!