Friday, March 30, 2012
Reporting Services and Linked Server - can't stop execution of pro
I have the same problem with Reporting Services and Linked Server.
The Reporting Services receive data source from stored procedure, which
executes inside it stored procedure on the Linked Server. If Reporting
Service successfully forms the report, then everything is OK, but if there
are some troubles (e.g. I close the browser page where report was forming), I
have the problem: the process on the Linked Server doesnâ't stop itself. Itâ's
continuing executing for eternity and locks other processes. The only way to
stop it â' is to kill it. Iâ'll try to set timeouts in the configuration of
Reporting Service and Query Timeout in the Server Options of Linked Server,
but it doesnâ't help. This problem shows itself only if I work through Linked
Server.
Thanks for your help.
Boris.The default timeout for linked server queries is 600 seconds, i.e. 10
minutes. This can be changed in SQL Server using an sp_configure option
"remote query timeout".
Yes, you're right, this is a problem which has nothing to do with Reporting
Services. You may want to repost the relevant part of your question to a SQL
Server forum. You may get more advice on the issue.
HTH
Charles Kangai, MCT, MCDBA
"Boris" wrote:
> Hello,
> I have the same problem with Reporting Services and Linked Server.
> The Reporting Services receive data source from stored procedure, which
> executes inside it stored procedure on the Linked Server. If Reporting
> Service successfully forms the report, then everything is OK, but if there
> are some troubles (e.g. I close the browser page where report was forming), I
> have the problem: the process on the Linked Server doesnâ't stop itself. Itâ's
> continuing executing for eternity and locks other processes. The only way to
> stop it â' is to kill it. Iâ'll try to set timeouts in the configuration of
> Reporting Service and Query Timeout in the Server Options of Linked Server,
> but it doesnâ't help. This problem shows itself only if I work through Linked
> Server.
> Thanks for your help.
> Boris.
>sql
Reporting Services and Analysis Services - help please - desperate!
Please please can someone help, this problem has just been going on for too
long.We need to run reports off RS using AS as the data source.
Our setup is as follows
RS - on seperate web server (srvWeb)
RS DB - on seperate SQL server (srvDB)
No problem - everything has worked fine connecting directly to the databases
to extract data for the reports.
However, when I connect to Analysis services on the RS DB (srvDB) server I
get the following error
a.. An error has occurred during report processing. (rsProcessingAborted)
Get Online Help
a.. Cannot create a connection to data source 'AS_Admin'.
(rsErrorOpeningConnection) Get Online Help
a.. Database 'BI_Admin' does not exist.
If I connect using localhost as the datasource name - it works 100% on my
machine but the minute I try to connect to a server (srvDB) that is not on
my machine I get the error.
We have installed Analysis Services on the web server (srvWeb) as well
because it didn't have the correct drivers but this has not helped at all -
I also registered the servers on AS (srvWeb) for what it's worth.
Does anyone please please know what I should do to get this working.
Thanks
KIf you're running RS on a Windows 2000 Server, and trying to use Stored
Windows Credentials to access a remote AS data source, this might help:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rstshoot/htm/trs_tshootdev_v1_3dcz.asp
Troubleshooting Server and Database Problems
...
You can get an rsConnectionError error that shows a failed login for ASP.NET
when you configure a data source to use prompted or stored Windows
credentials, and the report server hosting the report runs under a domain
user account on a Windows 2000 server. When installing Reporting Services on
a Windows 2000 server, Microsoft recommends that you use the built-in account
(NT AUTHORITY/SYSTEM). If you use a domain user account (even one that has
local administrator privileges), it will limit your choices on how to
configure a data source connection for a report. Specifically, you cannot use
prompted or stored Windows credentials to connect to external data sources.
...
"Kathy" wrote:
> Hi folks,
> Please please can someone help, this problem has just been going on for too
> long.We need to run reports off RS using AS as the data source.
> Our setup is as follows
> RS - on seperate web server (srvWeb)
> RS DB - on seperate SQL server (srvDB)
> No problem - everything has worked fine connecting directly to the databases
> to extract data for the reports.
> However, when I connect to Analysis services on the RS DB (srvDB) server I
> get the following error
> a.. An error has occurred during report processing. (rsProcessingAborted)
> Get Online Help
> a.. Cannot create a connection to data source 'AS_Admin'.
> (rsErrorOpeningConnection) Get Online Help
> a.. Database 'BI_Admin' does not exist.
> If I connect using localhost as the datasource name - it works 100% on my
> machine but the minute I try to connect to a server (srvDB) that is not on
> my machine I get the error.
> We have installed Analysis Services on the web server (srvWeb) as well
> because it didn't have the correct drivers but this has not helped at all -
> I also registered the servers on AS (srvWeb) for what it's worth.
> Does anyone please please know what I should do to get this working.
> Thanks
> K
>
>
>
Reporting Services and Analysis Services
I have Reporting Services on one server and SQL and Analysis Services on another Server. I can develop a report using Analysis Services as the source from my local machine and it works fine. When I deploy it to the Reporting Services Server, it gives the following error:
An error has occurred during report processing.
Cannot create a connection to data source 'DataSource1'.
A connection cannot be made. Ensure that the server is running.
No connection could be made because the target machine actively refused it
Thank you in advnace for any help.
James
Also, I am running Reporting Services 2005. The Reporting Services databases are on a SQL2005 box and the Analysis Services is 2000 and it is on a seperate box.|||Check the credentials that are specified. When you are working with a report in Report Designer you have specified in your project what credentials to use. When you publish, those may or may not be the same credentials that are used on the server. Go to Report Manager, navigate to the data source and see if what is specified is what you expect.
|||I have used 'Credentials stored securely in the report server' and verified my credentials. I use the same credentials for the AS2005 server, which I can report against, also.
Has anyone had luck with this configuration of using RS2005 on its own box and reporting off of AS2000?
|||If you haven't done so, you need to check also the Use as Windows credentials when connecting to the data source checkbox. You user name has to be in the format domain\user. If this doesn't work, Active Directory may be messing things up. One thing you can check is to create a local Windows account on the AS2000 box and use its credentials to rule out AD.
Reporting Services and Analysis Services
I have Reporting Services on one server and SQL and Analysis Services on another Server. I can develop a report using Analysis Services as the source from my local machine and it works fine. When I deploy it to the Reporting Services Server, it gives the following error:
An error has occurred during report processing.
Cannot create a connection to data source 'DataSource1'.
A connection cannot be made. Ensure that the server is running.
No connection could be made because the target machine actively refused it
Thank you in advnace for any help.
James
Also, I am running Reporting Services 2005. The Reporting Services databases are on a SQL2005 box and the Analysis Services is 2000 and it is on a seperate box.|||Check the credentials that are specified. When you are working with a report in Report Designer you have specified in your project what credentials to use. When you publish, those may or may not be the same credentials that are used on the server. Go to Report Manager, navigate to the data source and see if what is specified is what you expect.
|||I have used 'Credentials stored securely in the report server' and verified my credentials. I use the same credentials for the AS2005 server, which I can report against, also.
Has anyone had luck with this configuration of using RS2005 on its own box and reporting off of AS2000?
|||If you haven't done so, you need to check also the Use as Windows credentials when connecting to the data source checkbox. You user name has to be in the format domain\user. If this doesn't work, Active Directory may be messing things up. One thing you can check is to create a local Windows account on the AS2000 box and use its credentials to rule out AD.
sqlMonday, March 26, 2012
Reporting Services 2000 with SQL Server 2005 data source
Can anyone confirm if Reporting Services 2000 Reports are compatible with
SQL Server 2005 data sources?
Has anyone experienced any problems with this setup?
Thanks
WendyAbsolutely no problem.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Woo" <Woo@.discussions.microsoft.com> wrote in message
news:CF099EDE-F849-44F5-8FE1-A6BD0298AE3D@.microsoft.com...
> Hiya,
> Can anyone confirm if Reporting Services 2000 Reports are compatible with
> SQL Server 2005 data sources?
> Has anyone experienced any problems with this setup?
> Thanks
> Wendy
Friday, March 23, 2012
Reporting Services + Analysis services Data Source
Hi all,
Till now all the reports for our application was created in Reporting Services 2005 with SQL Server Database(OLTP) stored procedures.
Most of the reports take 10 to 15 report Parameters and all are multi valued.
Now because of the slow response time,we have decided to use OLAP cubes data source. We have created the OLAP cube in Microsoft Analysis Services.
Can someone tell me how to use the report parameters to query the Cube.
Any links,books for reference would be of great help..
Thanks,
Looking forward to your replies
Hi there,
Try searching http://blogs.msdn.com.
Here is a link on how to use parameters.
http://www.databasejournal.com/features/mssql/article.php/10894_3504651_11
and here
http://blogs.msdn.com/bwelcker/archive/2005/04/24/411588.aspx
cheers,
Andrew
|||Thank you very much for replying.. i am looking at these sites.Tuesday, March 20, 2012
Reporting Services
Thanks
--
The SaintNot sure about the development tools but the server is all .Net. It ships
with a portal which is a asp.net application plus it uses web services. The
server product is dotnet through and through.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Saint" <Saint@.discussions.microsoft.com> wrote in message
news:3403C5A4-2EB7-4581-9E1F-E1003F2D5070@.microsoft.com...
> The whole plataform of Reporting Services was wrotten with .NET
source'?
> Thanks
> --
> The Saint
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).
Reporting Service and Source Control
Hi
We have encountered a problem using source control with reporting services. Im writing this post to find out whether we are doing something wrong, or reporting service just don't store everything in source control.
My problem is as follows.
My collegue creates a report with a dataset and this report contains several parameters. He tests this, deploys it, and checks it into the source control through Visual Studio.
The following day I get responsibility to alter something in this report. I checks out everything from source control, starts Visual Studio. But... A few important things are missing. The credentials for the dataset for once (this is a minor issue) since these might not should be stored in source control anyways. What is worse is that all the parameter settings are missing. What was entered was a query to a stored procedure where e.g 5 parameters in the report was mapped to parameters in the stored procedure. Now the query has been changed to text type, and the parameter mapping is missing.
This does make it impossible to cooperate on creating reports. If I now make a change in the parameter configuration, my collegue won't receive this when synchronizing source control, and the risk of deploying something incorrect is too high.
Can anyone help enlighten us. Are we doing something wrong? Is there some manual step that needs to be done to ensure that everything is stored in source control? Or is it just something we have to live with, not being able to trust source control when doing Reporting Services?
Best regards
/Anders
After a little more thourough investigation I have found out what have caused this.
The credentials in the dataset (.rds) is not stored in source control. As i mentioned above this is actually ok, since credentials should not be stored in clear text in source control.
But, if you "forget" to enter the credentials before opening a report (.rdl), this report will "reset" the settings for the strored procedure, and changing the dataset to text type instead of stored procedure.
The current solution for us, is to close the report without saving it, enter correct credentials, and then reopen the report fresh from source control. Then all is as it should be.
I will not consider this to be an actual bug, but i definitely find it to be a inappropriate behaviour. In my world it would be nice for reporting services just to state that the dataset cant be loaded - but it should definitely not alter my report just because of that.
But now the post is here - if anyways encounters the same "problem". I willl expect this to happen only the first time a new collegue should work on a report solution, since after this he will have correct credentials entered, and thus not encounter this strange behaviour.
Best regards
/Anders
Tuesday, February 21, 2012
Reporting off of stored procedures
You might want to put the data you are ultimately querying in a permanent table, not a temp table. It may be that when you return the cursor, the temp table is no longer available and when the report is going through the cursor and trying to get records, the data is not available anymore.
|||Hi,
The problem must be elsewhere. I am doing this without problem.
Did you set the report dataset to type StoredProcedure?
Did you try to call your sp from a query window?
Did you create the datasource as to be of type Microsoft SQL Server?
Also, I do not like the " Select * " try to specify the columns if you can.
As Jayplus said, a permanent table would be better (if the data will remain unchanged for a while).
Philippe