0
votes

Can we do some server settings on the SSRS server by which any report is called then this will update these values to database table for e.g. I have a rdl file and a table tblLogDetails. When any user hits a print button in my application then rdl file rendered up and at the same time reportserver will update/insert tbllogdetail columns UserID, PrintTime,PrintDate, IsPrint flag a boolean value.

3
possible duplicate of Tracking report usage - Tab Alleman
I think you may find this answer useful. (can't flag this question as duplicate because no news from the user who asked the question) - Sébastien Sevrin

3 Answers

0
votes

You could use the dbo.ExecutionLogStorage table in the report server database to render some details about ever report execution. It wont show you print time and date but will show you a history.

Also this approach will only show you the SQL user that you have assigned to execute reports. Hence if you are trying to record users in a custom web application running reports you may need to consider a different approach altogether.

Possibly an event listener in JS.

0
votes

You could insert a specific Dataset in each report that updates your tblLogDetails table.

Just set up the dataset as you would normally, but have the proc or script update your log table.

0
votes

Guidelines in brief

A possible solution is the trick with Java Script.

It is necessary to listen PRINT BUTTON - INPUT with name = "ctl32$ctl05$ctl06$tl00$ctl00$ctl00" click.

Also need to pick up values from a number of INPUT or SELECT parameter like this: SELECT id ="ctl32ctl04_ctl03_ddValue" name ="ctl32$ctl04$ctl03$ddValue">

Prepare parameter values and send them to certain methods (HTTPPOST) in the Web application