Friday, March 30, 2012
Reporting Services and Mapping
2005 version. I know there are ways to get around it now, but does
anyone know if the 2005 version will support maps out of the box?
Thanks.On 30 Mar 2005 11:14:46 -0800, "Kenny" <kvu@.thereturnexchange.com>
wrote:
>I was just wondering if SSRS will support geographical mapping in the
>2005 version. I know there are ways to get around it now, but does
>anyone know if the 2005 version will support maps out of the box?
>Thanks.
Kenny,
I believe that was being considered. I don't know the current
position.
For SQL Server 2005 Reporting Services you are probably best to ask
questions on the newsgroup at
microsoft.private.sqlserver2005.reportingsvcs. Despite its name it's a
public newsgroup.
Andrew Watt
MVP - InfoPath
Friday, March 23, 2012
Reporting Services (SSRS)
When I go to launch Report Services Configuration, I get "No report servers were found on the specified machine. Details: Invalid namespace". Do I need IIS for this to work?
Also, I do not think the AdventureWorks database was installed, I cannot seem to find it anywhere. I have tried to go back through and reinstall it, but it says that it is already installed.
Also, is there a certain order that you are supposed to install things? i.e. SQL Server before Visual Studios?
Thanks in advance.
*Edit* BTW, I'm using Windows XP, SQL Server Enterprise Edition, and VS.NET 2005.
YOu definetly need IIS to host Reporting Services. If you did not install that prior to the installation of Reporting Services / SQL Server 2005, the installer skipped the Reporting Services (server) part, although you might activated a "full installation". But at the beginning of the setup there should have been a warning at the prerequisites pages telling you that server components of Reporting Services will not be installed due to the lack of IIS.
HTH, Jens K. Suessmeyer.
http://www.sqlserver2005.de
|||Do I have to again uninstall SQL Server 2005 and install it again or I coan now configure it to run RS?|||
Actually no. You will have to
-install IIS on your computer
-Register ASP.NET on the IIS instance again using aspnet_regiis -i on the commandline.
-Install Reporting Services
-Done.
HTH, jens K. Suessmeyer.
http://www.sqlserver2005.de
sqlReporting Services (SSRS)
When I go to launch Report Services Configuration, I get "No report servers were found on the specified machine. Details: Invalid namespace". Do I need IIS for this to work?
Also, I do not think the AdventureWorks database was installed, I cannot seem to find it anywhere. I have tried to go back through and reinstall it, but it says that it is already installed.
Also, is there a certain order that you are supposed to install things? i.e. SQL Server before Visual Studios?
Thanks in advance.
*Edit* BTW, I'm using Windows XP, SQL Server Enterprise Edition, and VS.NET 2005.YOu definetly need IIS to host Reporting Services. If you did not install that prior to the installation of Reporting Services / SQL Server 2005, the installer skipped the Reporting Services (server) part, although you might activated a "full installation". But at the beginning of the setup there should have been a warning at the prerequisites pages telling you that server components of Reporting Services will not be installed due to the lack of IIS.
HTH, Jens K. Suessmeyer.
http://www.sqlserver2005.de|||Do I have to again uninstall SQL Server 2005 and install it again or I coan now configure it to run RS?|||
Actually no. You will have to
-install IIS on your computer
-Register ASP.NET on the IIS instance again using aspnet_regiis -i on the commandline.
-Install Reporting Services
-Done.
HTH, jens K. Suessmeyer.
http://www.sqlserver2005.de
Wednesday, March 21, 2012
Reporting Services - Export to PDF problem
We are facing some problem while exporting the SSRS (SQL Server 2005 SP2 installed on win2K3) Report to PDF format, problem is when we export report to PDF format all the data after 80 columns gets wrapped to next page which not only increases no. of pages in the reports but also disturbs the report format for example if a report contains only one page and 320 columns of data and if we export it to PDF format then the PDF file will have 4 pages each having 80 columns of date. Has anybody faced the similar issues? would appreciate if you can give solution for this problem or forward any link which discusses the same.
That is a common problem, you are exceeding the width of a sheet of A4. With 80 columns your column width would have to be tiny to fit them all on one page. You can get yourself a little extra width on the page by having it render in landscape mode, just swap over the width/height values under the PageSize parameter for the report. You can also reduce the margin sizes. These techniques will not get you a lot of extra space, if you still need more then the only way to get it is to redesign the report (more tables) or select less data (narrow the parameters or filter the returned data).
sql
Reporting Services - Crystal to SSRS
Server Reports. Is there any tool to do this? or Do I need to redesign
every report in SQL Server Reports?
Madhivanan"Madhivanan" <madhivanan2001@.gmail.com> wrote in message
news:1125930151.754268.195010@.g43g2000cwa.googlegr oups.com...
> I have a requirement to convert reports from Crystal Reports to SQL
> Server Reports. Is there any tool to do this? or Do I need to redesign
> every report in SQL Server Reports?
> Madhivanan
I have no idea myself, but it looks as if the question has come up on
microsoft.public.sqlserver.reportingsvcs several times:
http://groups.google.ch/group/micro...arch+this+group
Simon|||Thanks Simon
Madhivanan
Monday, March 12, 2012
Reporting Service Table control - question...is this possible?!?
Hi, on my local SSRS (RDLC), I have a table which presents several
items, however these are not sequential data from a table on my DB, are
fields of only one row of a table on my DB. More specificly, I have a
table with the fields issue1, description1, issue2,
description2...until 6! I want to present those fields six times (the
same times as they appear on the DB), however, I only want them to
appear is the issuex (which is an integer) is greater than 0. So to
guarantee that each field only appears one time, I do this:
=First(Fields!issue1.Value)
to each table line
And
what I want to do on each line is IIF(Fields!issue1.Value >
0,True,False) to make that line visible or not, however, if I apply
this to a line it automatically applies it to the complete table, and
if only one of this conditions returns false the complete table becomes
invisible.
Is there anyway to make this work dynamically?!?Thanks a lot!
The first mistake in your hidden expression is that your true and false results are exchanged. As per your first sentence, you want to show the row when issue>0 which means hidden should be false. so your hidden expression for table row should like this: IIf(Fields!issue1.Value>0, false, true)
To achieve the result you want, create 6 table detail rows and control the visibility of these rows based on the corresponding issue number. For example, first row will check for issue1 > 0, second row will check for issue 2 >0 etc until 6th row..
Shyam
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
|||
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
|||
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
|||
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
|||
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
|||
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
|||
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).