I've been trying to get SSRS working but I only get blank reports (using the sample reports from codeplex).
Logs have this error
ui!ReportManager_0-1!1430!04/26/2011-20:10:27:: Unhandled exception: System.Web.HttpException: Path '/Reports_ANTHONYWS/ScriptResource.axd' was not found.
at System.Web.HttpNotFoundHandler.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Do your settings in Reporting Services Configuration Manager all look OK? I ask because it looks like you've changed the default "Reports" virtual directory to "Reports_ANTHONYWS", wonder if this is affecting anything.
Related
I know this is a stupid question, but the answers I find didn't work for me or I do something wrong?
I need to upload a 14.2Mb report to SSRS and got Maximum request length exceeded.
I have change web.config to : httpRuntime executionTimeout="9000" maxRequestLength = "16384"
in
C:\Program Files\Microsoft SQL Server\MSRS12.EXO\Reporting Services\ReportManager\Web.config
and
C:\Program Files\Microsoft SQL Server\MSRS12.EXO\Reporting Services\ReportServer\Web.config
Then I did a IIS reset. After this I got this error:
System.Web.Services.Protocols.SoapException: There was an exception running the extensions specified in the config file. ---> System.Web.HttpException: Maximum request length exceeded. at System.Web.HttpRequest.GetEntireRawContent() at System.Web.HttpRequest.get_InputStream() at System.Web.Services.Protocols.SoapServerProtocol.Initialize() --- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response) at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
What have I done wrong?
The problem was that I have to change the maxRequestLength = "1048576". I'm not sure why the value of 16384 did not work for a 14Mb report? But the problem is solved for me :)
I've created a new "Report Server Project" in VS2013 .Net 4.5. I've added a data source and the test connection succeeds. I've added a DataSet using the "Use a dataset embedded in my report" option choosing the data source previously created. The query type is Stored Procedure with a single text parameter. In the report data box I can right click my DataSet, choose Query, and execute the sproc. I see a grid populated correctly with my data.
However, when I try to create and preview a report it fails. I do the following:
Add a new report.
Drop a table on it from the toolbox.
Start dragging fields from my DataSet onto the table.
When I hit preview I see the following
Here is the text that gets spit into the output window:
System.ServiceModel.CommunicationObjectFaultedException: The
communication object,
System.ServiceModel.Channels.ClientFramingDuplexSessionChannel, cannot
be used for communication because it is in the Faulted state.
Server stack trace: at
System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
at System.ServiceModel.Channels.OutputChannel.BeginSend(Message
message, TimeSpan timeout, AsyncCallback callback, Object state) at
System.ServiceModel.Dispatcher.DuplexChannelBinder.BeginRequest(Message
message, TimeSpan timeout, AsyncCallback callback, Object state) at
System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartSend(Boolean
completedSynchronously) at
System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureOpen(IAsyncResult
result, Boolean completedSynchronously) at
System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureOpen(Boolean
completedSynchronously) at
System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.FinishEnsureInteractiveInit(IAsyncResult
result, Boolean completedSynchronously) at
System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.StartEnsureInteractiveInit()
at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin()
at System.ServiceModel.Channels.ServiceChannel.BeginCall(String
action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins,
TimeSpan timeout, AsyncCallback callback, Object asyncState) at
System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage
methodCall, ProxyOperationRuntime operation) at
System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage
message)
Exception rethrown at [0]: at
System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type) at
Microsoft.ReportDesigner.Design.IPreviewProcessing.BeginSetItemPath(String
itemPath, AsyncCallback callback, Object asyncState) at
Microsoft.ReportDesigner.Design.PreviewProcessingClient.BeginSetItemPath(String
itemPath, AsyncCallback callback, Object asyncState) at
Microsoft.ReportDesigner.Design.WCFProcessingHost.<>c__DisplayClass1.b__0(AsyncCallback
ac, Object s) at
Microsoft.ReportDesigner.Design.WCFProcessingHost.<>c__DisplayClass3b.b__39()
at
Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteWcfCall(Action
wcfCall) at
Microsoft.ReportDesigner.Design.WCFProcessingHost.ExecuteAsyncCall(Func`3
beginAction, AsyncCallback endAction) at
Microsoft.ReportDesigner.Design.WCFProcessingHost.set_ItemContext(PreviewItemContext
value) at
Microsoft.Reporting.WinForms.LocalReport.ChangeReportDefinition(DefinitionSource
updatingSourceType, Action changeAction) at
Microsoft.Reporting.WinForms.LocalReport.set_ReportPath(String value)
at Microsoft.ReportDesigner.Design.PreviewFrame.RefreshPreview()
I have googled for two days with no luck, any help is much appreciated.
EDIT:
It turns out, when you preview the report, this console window opens. I must have closed it the first time, then the preview fails. If you leave the console window open the preview works fine. Here is a screenshot so you can see what I'm talking about. In order to get previewing to work, I just had to re-start visual studio and make sure not to close the console window when it pops up when I hit preview.
This is a reported bug in SSDT-BI. In the meantime the current workaround is to right click on the report you want to preview in your Solution Explorer and click RUN and it will work unless you want to keep that command prompt window open.
Running the Microsoft Visual Studio as Administrator will resolve this issue.
i'm working on a SharePoint 2013 site, i have 2 type of registration: (Win Authentication and FBA).
I'm trying to use a solution (WSP) from the old portal (SP 2010), this WSP use a dll named 'Microsoft.Practices.EnterpriseLibrary.Data' which isn't existed in SP 2013 environment.
So to resolve that i installed the Microsoft Enterprise Library 5.0 from Microsoft, then i copied this dll to the bin folder under inetpub\wwwroot\wss\VirtualDirectories\80\
Now when i logged in to site using windows authentication mode the WebPart appear but when logged as FBA User the an error appeared:
System.InvalidOperationException: Cannot open log for source 'Microsoft.Practices.EnterpriseLibrary.Data'. You may not have write access. ---> System.ComponentModel.Win32Exception: Access is denied
--- End of inner exception stack trace ---
at System.Diagnostics.EventLogInternal.OpenForWrite(String currentMachineName)
at System.Diagnostics.EventLogInternal.InternalWriteEvent(UInt32 eventID, UInt16 category, EventLogEntryType type, String[] strings, Byte[] rawData, String currentMachineName)
at System.Diagnostics.EventLogInternal.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData)
at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type)
at ProjectName.Internet.EventViewerLogService.LogEvent(String source, String message, EventLogEntryType type)
at ProjectName.Internet.ExceptionHandler.Handle(Exception exception)
at ProjectName.Internet.SQLHelper.GetVolunteerInfo(String VolunteerId)
at ProjectName.Internet.Profiles.Volunteer.GetVolunteer(String VolunteerId)
at ProjectName.Internet.Accessibility.Accessibility.AccessibilityUserControl.Page_Load(Object sender, EventArgs e)
Note: i tried to give permission to "Security" into the registry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security to the 'Authenticated Users group' because i had an error in the beginning
Error: The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.
PS: This is a follow up to this . I followed the given answers but to no avail.
I guess this is due to some configuration issue on server?
The error is related to permission issue, when i logged in with FBA User i missed the permission to write into new event Sources.
By default, any authenticated user is able to write to application event log. However only administrators can create new event Sources.
I resolve it by run the CreateEventSource method with elevated Privileges, like the below:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
if (!EventLog.SourceExists(eSource))
{
EventLog.CreateEventSource(eSource, eLog);
}
EventLog.WriteEntry(eSource, ex.ToString(), EventLogEntryType.Error);
});
I have a report returning around 90000 rows. But when i export it to excel from the asp.net page it gives this error:
An error occurred during rendering of the report
But the same report is getting successfully exported to excel from the report server.
If i pass some more parameters from the web page to reduce the number of records to 100, then i am able to export it to excel from the web page itself.
Edit-1
Stack Trace:
[Exception: For more information about this error navigate to the report server on the local server machine, or enable remote errors]
[Exception: An error occurred during rendering of the report.]
Microsoft.Reporting.WebForms.ServerReport.ServerUrlRequest(Boolean isAbortable, String url, Stream outputStream, String& mimeType, String& fileNameExtension) +574
Microsoft.Reporting.WebForms.ServerReport.InternalRender(Boolean isAbortable, String format, String deviceInfo, NameValueCollection urlAccessParameters, Stream reportStream, String& mimeType, String& fileNameExtension) +905
Microsoft.Reporting.WebForms.ServerReport.Render(String format, String deviceInfo, NameValueCollection urlAccessParameters, Stream reportStream, String& mimeType, String& fileNameExtension) +28
Microsoft.Reporting.WebForms.ServerReport.Render(String format, String deviceInfo, NameValueCollection urlAccessParameters, String& mimeType, String& fileNameExtension) +88
Microsoft.Reporting.WebForms.ServerReportControlSource.RenderReport(String format, String deviceInfo, NameValueCollection additionalParams, String& mimeType, String& fileExtension) +123
Microsoft.Reporting.WebForms.ExportOperation.PerformOperation(NameValueCollection urlQuery, HttpResponse response) +153
Microsoft.Reporting.WebForms.HttpHandler.ProcessRequest(HttpContext context) +585
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +901
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +76
I can suggest you some workaround: in the report you can place a link to Force SSRS Report to create a file rather than render on screen.
the link should contain the following:
http://localhost/ReportServer/Pages/ReportViewer.aspx?
%2fSample+Report&rs:Format=excel
SSRS 2008 can only export to XLS (MS Office 2003). XLS files are limited to 65k rows.
Have you looked at the row count of the export from the Report Manager? Unless you are using a custom or third-party tool to allow export to XLSX, the file should only have ~65k rows.
I think the Report Manager works around the exceeded row length by performing what is essentially something like SELECT TOP 65k from the report. Your asp.net interface probably does not account for this limitation, and is forcing too many rows into the Excel export.
Your options are:
1.) Use SSRS 2012 which allows export to XLSX. XLSX files can handle many more rows.
2.) Change your asp.net code to slice off the top 65k rows before export to XLS.
3.) Consider a third-party or custom solution to work around the SSRS 2008 export limitations (I know of Aspose.)
4.) Export to CSV, then have the end user convert the CSV into Excel.
As dev_etter mentioned, SSRS 2008 doesn't support such large Excel reports out of the box but it can be done with 3rd party tools like SoftArtisans OfficeWriter which allows you to design and export reports in the OOXML (.xlsx/.xlsm) format.
Disclaimer: I work for SoftArtisans
Maybe there is timeout error in ReportViewer control?
Try to play with:
ViewerControl.ServerReport.Timeout
http://msdn.microsoft.com/en-us/library/microsoft.reporting.winforms.serverreport.timeout(v=vs.80).aspx
Because report server also use ReportViewer control and maybe with different configaration with yours. The default value for timeout is 600000 milliseconds.
BTW: It would be great to see your StackTrace. This will help to give you better answer.
Ram on the server may be an issue. There are a lot of issues here with high volume reports not coming through and ram seems to fix them, from the responses at least.
if the problem is exceeding the 65k limit of excel, you can add a parent group to your tablix and add the following code for the group expression
=CEILING(RowNumber(Nothing)/65500)
Then add a page break between each instance of the group...
this will create multiple tabs in the excel file for the tablix that is > 65500 rows...
My fix turned out to be removing the seal(image) on our report. I'm not sure if this is limited to png's or not but after it was removed the reports exported to excel without issue.
I had this problem when exporting an Oracle SSRS report with an hierarchical connect by type query, in SSRS 2014. The report was displaying, but faster than I expected. I was wondering if it was timing out in the background, but still displaying some of the rows. I changed the report to never timeout and that fixed it. Took longer to run after that, but it would export to excel after it finished.
I have successfully implemented Forms Authentication in SSRS, so it now uses both Roles and Users from my website, using the ordinary asp.net membership framework.
I can log in to the portal and run any report, as long as I have the correct role from my original app. All good.
However, if I create a subscription, then, when the subscription runs, I don't get my report, but rather this message in the log:
subscription!WindowsService_0!161a0!10/21/2009-22:42:05:: i INFO:
Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:
An internal error occurred on the report server. See the error log for more details. --->
System.Configuration.Provider.ProviderException:
The Role Manager feature has not been enabled.
at System.Web.Security.Roles.EnsureEnabled()
at System.Web.Security.Roles.GetRolesForUser(String username)
at MyApp.ReportServer.Security.Module.Authorization.CheckAccess(String userName, IntPtr userToken, Byte[] secDesc, ReportOperation requiredOperation)
at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType catItemType, Byte[] secDesc, ReportOperation rptOper, String reportPath)
at Microsoft.ReportingServices.Library.SecurityRequirements.CheckAccess(ItemType itemType, Byte[] securityDescriptor, String itemPath)
at Microsoft.ReportingServices.Library.DefinitionLoader.GetParameterDefinition(CatalogItemContext itemContext, String historyId, Boolean forRendering, SecurityRequirements requirements)
at Microsoft.ReportingServices.Library.RSService.GetReportParameters(ClientRequest session, CatalogItemContext reportContext, Boolean forRendering)
at Microsoft.ReportingServices.Library.RSServiceDataProvider.GetParameters(ClientRequest session, CatalogItemContext reportContext)
at Microsoft.ReportingServices.Library.RenderForNewSession.GetReportParameters()
at Microsoft.ReportingServices.Library.RenderForNewSession.GetReportMetadata()
at Microsoft.ReportingServices.Library.RenderForNewSession.get_ExecuteExistingSnapshot()
at Microsoft.ReportingServices.Library.RenderForNewSession.GetExecutionStrategy()
at Microsoft.ReportingServices.Library.ReportExecutionBase.InternalExecuteReport()
at Microsoft.ReportingServices.Library.ReportExecutionBase.Execute()
at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper()
--- End of inner exception stack trace ---
The MyApp line is my custom security extension.
I have the RoleManager and membership provider setup in web.config in the /ReportServer directory.
Does the subscription runner circumvent the website settings somehow?
UPDATE:
Ok, so I found out, that apparently it is running with whatever is values is set in MACHINE.CONFIG when a subscription is being evaluated/triggered by sql agent.
Any clues why it doesn't use the web.config settings, but goes straight to machine.config?
I not formiliar with SSRS, but I am with .NET / membership providers and web/app/machine.config.
Your exception states subscription!WindowsService_0!161a0!10/21/2009-22:42:05::
I think this means the subscription service is a windows service and doesn't run in IIS. This means it has a different configuration file.
http://reportserver -> IIS -> web.config (Your configuration)
subscription!WindowsService -> Services -> app.config -> machine.config.
Hope it helps.