Showing posts with label view. Show all posts
Showing posts with label view. Show all posts

Monday, March 26, 2012

Reporting Services 2005 Access Issue

Hi Everyone,

I've set all SQL services to run using a domain account which is a local administrator, I am able to view reports on the server but when someone from client machine connects to the server it prompts for user id and password and doesn't like unless I give a local server user who is also a local admin on box.

The app pools are also running using a domain a/c which is local admin but even we can't access reports even if I enter this ID from client machine. It is asking for a server user who is also an admin. I went ahead and added all domain users to the browser group but still no success.

The other problem I've is the link to report sent by Subscriptions service is broken, when I click on it I get a page not found error. How can we fix this?

Any help would be good.

Regards,

Sumit

Hey Sumit,

You might want to make sure you have 'Integrated Windows authentication' checked in Reports and ReportServer within IIS. Or you could have 'Enable anonymous access' checked.

Hope this helps.

Jarret

Wednesday, March 21, 2012

Reporting Services - Rendering

I have created reports using Reporting Services and the problem I am having is with the Print Layout. I view a report with parameters and print. I then change the parameters and click 'View Report' again and the new report is displayed. However, the report does not refresh in the Print Layout, so if I try to print the 2nd report, the first report is the one that is printed. Any ideas how to solve this?

Thanks

Quite simple.

Close Print Layout when you change the parameters and open it after the new report is displayed. Print Layout is rendered upon demand, and just changing the parameters is not refreshing the Print Layout screen.

|||Bdot - aparerntly this is a confirmed bug but you can work around it in code by hooking up to the ViewButtonClick event and calling RefreshReport.

c/o http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=267834&SiteID=1

Reporting Services - Rendering

I have created reports using Reporting Services and the problem I am having is with the Print Layout. I view a report with parameters and print. I then change the parameters and click 'View Report' again and the new report is displayed. However, the report does not refresh in the Print Layout, so if I try to print the 2nd report, the first report is the one that is printed. Any ideas how to solve this?

Thanks

Quite simple.

Close Print Layout when you change the parameters and open it after the new report is displayed. Print Layout is rendered upon demand, and just changing the parameters is not refreshing the Print Layout screen.

|||Bdot - aparerntly this is a confirmed bug but you can work around it in code by hooking up to the ViewButtonClick event and calling RefreshReport.

c/o http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=267834&SiteID=1

Friday, March 9, 2012

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Wednesday, March 7, 2012

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Reporting Service Cache

Hello Techies

i have SSRS 2005 report the source data from oracle views i simply select * from the view and display data for a particular entity say empID using filter in the reports which is passed as parameter

the question is whether SSRS will cahe the data and for subsquent request it will take from Cache instead of going back to database even if i change the parameter say empID 1,2,3,

please help me on this

thanks in advance

SSRS always performs user session caching for each parameter combination. If a subsequent request is sent before the session expires and includes the session identifier, the report will be displayed from the cached instance. The end user can click the Refresh Report toolbar button (not the browser Refresh button) to generate the report anew.

|||

i call the depolyed rdl and then renders in to excel in my Windows Application

and i pass param to RDL not to datasource i use the param for filters in RDL list

i enable cache for that rdl say 60 min

when render the rdl in loop by changin the param it gives same output excel data for different param

please help

|||

I enable cache for that rdl say 60 min

What does this mean? You enabled shapshot caching? You don't have to do anything to specifically enable user session caching. However, I haven't tried filtering only though. If it still doesn't work for you I will take a look.

|||

I enable cache for that rdl say 60 min means execution cache for that report

i haven't enabled session cache coz i not displaying my rdl in browser

i use Reporting Service webservice methods to accesses and render report

code

Private Sub RptRender2(ByVal paramName As String, ByVal paraVal As String)
Dim rs As New ReportExecutionService()
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = "http://localhost/reportserver/ReportExecution2005.asmx"

' Render arguments
Dim result As Byte() = Nothing
Dim reportPath As String = "/PanelPayments/EvalRpt2"
Dim format As String = "EXCEL"
Dim historyID As String = Nothing
Dim devInfo As String = "<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"

' Prepare report parameter.
Dim parameters(0) As WindowsApplication2.ReportExecution2005.ParameterValue

Dim credentials As WindowsApplication2.ReportExecution2005.DataSourceCredentials() = Nothing
Dim showHideToggle As String = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As WindowsApplication2.ReportExecution2005.Warning() = Nothing
Dim reportHistoryParameters As WindowsApplication2.ReportExecution2005.ParameterValue() = Nothing
Dim streamIDs As String() = Nothing

Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""

Dim arrList As New ArrayList
arrList.Add("1")
arrList.Add("2")
arrList.Add("3")
arrList.Add("4")

rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)


Dim i As Integer

Try

For i = 0 To arrList.Count - 1

'set parameter
paraVal = arrList(i).ToString()
parameters(0) = New WindowsApplication2.ReportExecution2005.ParameterValue()
parameters(0).Name = paramName
parameters(0).Value = paraVal
rs.SetExecutionParameters(parameters, "en-us")

'get sessiion id
SessionId = rs.ExecutionHeaderValue.ExecutionID
Console.WriteLine("SessionID: {0}", rs.ExecutionHeaderValue.ExecutionID)

'render the result
result = rs.Render(format, devInfo, extension, _
encoding, mimeType, warnings, streamIDs)

execInfo = rs.GetExecutionInfo()

Console.WriteLine("Execution date and time: {0}", execInfo.ExecutionDateTime)


' Write the contents of the report to an MHTML file.
Try
Dim sFilePath As String = "C:\Paypal\out\Summary" & paraVal & ".xls"
Dim stream As FileStream = File.Create(sFilePath, result.Length)
Console.WriteLine("File created.")
stream.Write(result, 0, result.Length)
Console.WriteLine("Result written to the file.")
stream.Close()
Catch e As Exception
Console.WriteLine(e.Message)
End Try

Next

Catch e As SoapException
Console.WriteLine(e.Detail.OuterXml)
End Try


End Sub

-

when verifed the report Execution log table it shows same parameter value except first 2

thanks

|||

Once you create a snapshot report, all subsequent requests will be served using the cached instance irrespective of the parameters passed. That's because a snapshot report is cached only for the default parameter values specified when the snapshot is generated. In contrast, session caching is performed for each parameter combination.

i haven't enabled session cache coz i not displaying my rdl in browser

Session caching is always enabled. You can control only the session timeout (the minimum is 60 seconds). If you pass the session identifier back to the report server you can take advantage of the session caching when you call the RS web service.|||

Hi

Enabling snapshot eliminates the problem of getting same data for different parameters - Thanks a ton

but

i am using

SetExecutionOptions method to set snapshot but how can check the time taken for snapshot to complete

coz i am getting exception if the sanpshot is not created

ie the generation of the report runs montly so a exe will set the snapshot and renders to excel for diff parameter

if you can suggest something to solve i think i will solve the problem

again thanks a lot

your knowledge on SSRS is commentable

|||

ReportExecutionService.GetExecutionInfo method will tell you when the snapshot was processed and if there is a snapshot associated with the report.

You can use ReportingService2005.ListJobs to determine what jobs are currently running.

|||

hello

I have a created a report in 2005 and am calling the report from .Net console.

I have enabled caching for 30 minutes. I have added parameters as filters to the report assuming that I'll be able to retrieve the output from cache rather than hitting db for each of the parameters. My report runs fine with 2 parameters but when I trigger the same with the third parameter, the outputs is erndered with the second parameter value.From then onwards all my outputs will have the same parameter filter value 2 applied.Haven't enabled snapshots as it is difficult to maintain (clean one)

Any help?

Thanks for all your help
|||

Execution caching is based on query parameters not report parameters. You need to link report parameters to the query instead of using filters.

|||

Thank you

i used

SetExecutionOptions

and

UpdateReportExecutionSnapshot (this method waits till the snapshot is created)

and i would call the render method

it worked !!!!

other work around suggested by our team cordinator is using

web url request

Create the URL (including render option and parameter)

and use webRequest method to download the file this work much faster than the snapshot

loop the url for different parameters

thanks a ton for sharing your knowledge

|||

Hi

ok..I understand... How do i pass query parameters from my application?

Thanks

|||

Once you configure the report for execution cache, setExecutionParameters() followed by Render() should work. See the code example in this thread.

|||

Hi all,

I am a newbie here. Just wondering, How to set the timeout for .rdlc file?

I am using reporting services and my report always timeout after around 30sec. I already tried to set timeout in the connection string but it's not working. I am just using the report viewer to display this report.

Any help will be appreciated. Thank you.

|||

30 sec or 30 min? There is a global report timeout setting which you can overwrite for all reports. Go to Report Manager -> Site Settings ->Limit report execution to the following number of seconds. The default is 1800 seconds. You can overwrite the timeout on report basis by setting the same property in the report Execution property tab.

There is also a proxy timeout setting on the ReportViewer control (ServerReport section -> Timeout) to time out the web service call. The default is 600000 ms (600 seconds).

Saturday, February 25, 2012

Reporting Server 2000 Authentication Issue

Hi,

I have installed the eval version of Reporting Services 2000 on my pc. And i've used the report viewer control to view the report on a ASP.NET Page. When i view that .ASPX page, i get a windows authentication window before it opens the actual report.

Is there any way to disable this windows authentication dialouge box?

Regards,

PS: in the viewer i gave the path of the report as http://localhost/Rerport/ABC.rdl
I also tried with the ip address in place of localhost.
The ReportViewer control that ships with Visual Studio 2005 does not support Reporting Services 2000.

-Lukasz

Tuesday, February 21, 2012

Reporting off ADO.NET datasets

hi,

I am trying to implement this:
http://blogs.msdn.com/bimusings/archive/2006/03/24/560026.aspx

my web service seems to work because i can view the data in the page when i invoke the public web method i created.

i'm trying to retreive the data and use it as the dataset in a report. this is my query string:
<Query>

<ElementPath IgnoreNamespaces="True">
GiveMeDataResponse {}/
GiveMeDataResult/diffgram{}/
Results {}/Table {CompanyID, CompanyName, ABN, Abbreviation}
</ElementPath>

<SoapAction>
http://tempuri.org/GiveMeData
</SoapAction>
<Method Namespace="http://tempuri.org/"
Name="GiveMeData">
</Method>
</Query>

When i try to run the query, it returns my four columns, but there is no data in the columns. it just returns one empty row.

what am i doing wrong?i don't know what i was doing wrong, but i got the example working.

But now i have a new problem and was hoping someone can help me?

I'm still following this example:
http://msdn2.microsoft.com/en-us/library/aa337489.aspx

I've changed the web method to return a dataset that has a datatable added to it. here is my code:

DataSet ds = new DataSet("Results");

DataTable dt = new DataTable("Results");

dt.Columns.Add("FirstName");
dt.Columns.Add("LastName");
dt.Columns.Add("Address");
dt.Columns.Add("City");
dt.Columns.Add("State");
dt.Columns.Add("PhoneNumber");

DataRow row = dt.NewRow();
row["FirstName"] = "Bob";
row["LastName"] = "The Builder";
row["Address"] = "10 My Street";
row["City"] = "Sydney";
row["State"] = "NSW";
row["PhoneNumber"] = "123456";
dt.Rows.Add(row);

ds.Tables.Add(dt);

return ds;

the query in Reporting Services doesn't return any data. It doesn't throw an error, it just returns one empty row.

Thanks for your help.