【问题标题】:SQL / SSRS Adding Username to Report use tableSQL / SSRS 将用户名添加到报告使用表
【发布时间】:2013-03-08 15:31:28
【问题描述】:

我的场景如下:

如果用户运行报表,我想在ReportUse 表中插入一行,该表有 3 个字段/列:

User, date, reportname.

目前我在报告存储过程的末尾有一个Insert 语句,即:

INSERT INTO ReportUse (date, reportname)
SELECT GETDATE(), 'StaffReport'

这会插入日期和报告名称,我不确定如何将用户名添加到其中,这将是他们的 windows 用户 ID。

【问题讨论】:

    标签: sql reporting-services sql-server-2008-r2 reportingservices-2005


    【解决方案1】:

    如果您在数据源中使用 Windows 身份验证连接到数据库,只需将 User 列设置为默认值 SUSER_NAME()

    SUSER_NAME at Books Online.

    或者,您可以将内置字段User!UserID 作为参数传递给存储过程。这将适用于 SSRS 2005。

    Built in Globals and User References.

    评论后编辑:

    如果用户名不存在,则将参数添加到存储过程中。

    将参数的值设置为=User!UserID

    在存储过程中,在插入语句中使用 用户名 参数。

    【讨论】:

    • 谢谢,很遗憾,此报告使用它存储的凭据,因此用户每次都是相同的。还有其他方法吗?
    • User!UserID 选项怎么样?
    • 可以把User!UserID传入insert语句吗?
    • 当然,在将参数传递给报告中的 SP 时,您可以像使用任何其他字段/表达式一样使用 User!UserID。请参阅上面的快速概览。
    • 在报表中添加了一个值为 User!UserID 的隐藏参数,然后使用该参数值并将其传递给插入语句,效果很好,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多