SSRS 报表服务器呈现并将值更新到数据库 table?
SSRS Report Server render and update values to database table?
我们能否在调用任何报告的 SSRS 服务器上进行一些服务器设置,然后这会将这些值更新到数据库 table,例如
我有一个 rdl 文件和一个 table tblLogDetails。当任何用户点击我的应用程序中的打印按钮时,rdl 文件会同时呈现
reportserver 将 update/insert tbllogdetail 列 UserID、PrintTime、PrintDate、IsPrint 标记为布尔值。
您可以使用报表服务器数据库中的 dbo.ExecutionLogStorage
table 来呈现有关报表执行的一些详细信息。它不会显示打印时间和日期,但会显示历史记录。
此外,此方法只会向您显示您已指定执行报告的 SQL 用户。因此,如果您尝试在自定义 Web 应用程序 运行 报告中记录用户,您可能需要考虑完全不同的方法。
可能是 JS 中的事件侦听器。
您可以在更新 tblLogDetails 的每个报告中插入一个特定的数据集 table。
只需像往常一样设置数据集,但让过程或脚本更新您的日志 table。
简要指南
一个可能的解决方案是 Java 脚本。
需要监听 PRINT BUTTON - INPUT with name = "ctl32$ctl05$ctl06$tl00$ctl00$ctl00" click.
还需要从多个 INPUT 或 SELECT 参数中获取值,如下所示:SELECT id ="ctl32ctl04_ctl03_ddValue" name ="ctl32$ctl04$ctl03$ddValue">
准备参数值并将它们发送到 Web 应用程序中的某些方法 (HTTPPOST)
我们能否在调用任何报告的 SSRS 服务器上进行一些服务器设置,然后这会将这些值更新到数据库 table,例如 我有一个 rdl 文件和一个 table tblLogDetails。当任何用户点击我的应用程序中的打印按钮时,rdl 文件会同时呈现 reportserver 将 update/insert tbllogdetail 列 UserID、PrintTime、PrintDate、IsPrint 标记为布尔值。
您可以使用报表服务器数据库中的 dbo.ExecutionLogStorage
table 来呈现有关报表执行的一些详细信息。它不会显示打印时间和日期,但会显示历史记录。
此外,此方法只会向您显示您已指定执行报告的 SQL 用户。因此,如果您尝试在自定义 Web 应用程序 运行 报告中记录用户,您可能需要考虑完全不同的方法。
可能是 JS 中的事件侦听器。
您可以在更新 tblLogDetails 的每个报告中插入一个特定的数据集 table。
只需像往常一样设置数据集,但让过程或脚本更新您的日志 table。
简要指南
一个可能的解决方案是 Java 脚本。
需要监听 PRINT BUTTON - INPUT with name = "ctl32$ctl05$ctl06$tl00$ctl00$ctl00" click.
还需要从多个 INPUT 或 SELECT 参数中获取值,如下所示:SELECT id ="ctl32ctl04_ctl03_ddValue" name ="ctl32$ctl04$ctl03$ddValue">
准备参数值并将它们发送到 Web 应用程序中的某些方法 (HTTPPOST)