I have written an application with VB.Net. It display a report written using Reporting Rervices (rdl) in the ReportViewer Contol. When I run the application locally under windows, I can print the report just fine. When I run it under Terminal Services, sometimes it takes 2 or 3 times to print. Sometimes it never does. It looks like it prints the pages because the popup displays and it shows it is printing but it never does.
If I bring up the queue for the printer to watch when I print, then click the Print button on the the ReportView contol, I see the print enter the queue on the printer and then it is deleted but nothing prints. If I do it all again, the same thing happens but it may or may not print.
The applicatoin is written in VB.Net under Visual Studio Professional SP1.
My Requirement is to dirctly Print the SSRS Report without using Reportviewer. If anybody know How to Print Report without using Reportviewer, please let me know asap.
I need to know if Microsoft supports SQL Server 2000 running on the same server that functions as a Terminal Server (both NT and Windows 2000).
I checked out Microsoft.com and found that SQL Server 7 is supported with NT Terminal Services but can't locate any compatability information SQL 2000.
PS: I know this configuration doesn't make sense from a performance perspective but my customers will want to do this anyway.
I am specifically looking for a KB article, best practice, white paper etc, that states it is not recommended that SQL Server (either 2000 or 2005) is installed on a WIndows 2003 Server that is also running Terminal Services in application mode.
I am invoking RS web services to render reports, using Apache Axis to generate stub classes from Reporting Service WSDL.
Please let me know if I can integrate Report Viewer control in the jsp where I am writing the report output. Else do I have to create my own custom tags simulating ReportViewer functionality.
Hi all,Have a situation that my company has never run across before. Clientis running NT4 for the domain server, using terminal services 2000 andrunning an application with a SQL Server backend and they areexperiencing locking problems. Once one person gets locked out theneveryone trying to access that tables is also locked out as a result.It is not specific to a certain User, or module within theapplication. It's not a specific time of the day (like when a backupwould be running) and sometimes it's in the middle of the night whenthere are actually less Users on the system.We have 500 customers using this application. Most are using SQLServer backend, alot of the newer customers are using TerminalServices, and the number of Users is not accessive as compared to ourother customers. THe only difference is that I do not specificallyknow of another client with an NT4 Domain server in the mix.We actually switched to SQL Server as the recommended back end due tolocking issues using SQLBase because SQL Server is row locking andSQLBase is page locking. Since making this change we have stoppedseeing the locking for years until now. Is this a SQLServer issue orissue with the NT Domain server?Anyone have any ideas???ThanksA
I'm building a web app in c# that will consume sql rdl reports. These reports are hosted at MaxmimumASP and the physical location requires us to login with our one and only network account or to at least impersonate the authorized account in code. (Note that this all stored under SSL on a server different than our web app).
This is easy enough using the provided ReportService. However, we desire the functionality in ReportViewer that gives the toolbar and multiple export options.
So some serious work-arounds are in order.
Using ReportService, I can easily impersonate our MaximumASP account with:
ReportingService service = new ReportingService(); service.Credentials = new System.Net.NetworkCredential(user, pword, domain);
Using the ReportService leaves us with a stream of binary information. Under this set of conditions, direct rendering to PDF doesn't seem to work (or at least I can't get it to.).
Another problem is that embedded images either do not show up, require another challenge/response even though we did this in our cs page, or require us to stream them to the app's directory (see: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rsprog/htm/rsp_ref_soapapi_service_lz_49f6.asp?frame=true)
The big question. Does anybody have a way to get ReportServices stream to display in ReportViewer without using temporary files?
Hi, I€™ve an application Web which uses to reportviewer to show information. I want that all the users of the application accede to reports by means of he himself user and password. This user is a local user of report€™s server. The problem is that when attempt to show report always appear the following error: The request failed with HTTP status 401: Unauthorized. The code that use is the following one:
ReportViewer1.ServerReport.ReportServerCredentials = new ReportViewerCredentials("Usuario", "pwd", "servidor");
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Microsoft.Reporting.WebForms; using System.Net; using System.Security.Principal; using System.Runtime.InteropServices;
/// <summary> /// Summary description for ReportViewerCredentials /// </summary> public class ReportViewerCredentials : IReportServerCredentials { [DllImport("advapi32.dll", SetLastError = true)] public extern static bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
[DllImport("kernel32.dll", CharSet = CharSet.Auto)] public extern static bool CloseHandle(IntPtr handle);
[DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)] public extern static bool DuplicateToken(IntPtr ExistingTokenHandle, int SECURITY_IMPERSONATION_LEVEL, ref IntPtr DuplicateTokenHandle);
public ReportViewerCredentials() { }
public ReportViewerCredentials(string username) { this.Username = username; }
public bool GetFormsCredentials(out Cookie authCookie,out string user, out string password, out string authority) { authCookie = null; user = password = authority = null; return false; // Not implemented }
public WindowsIdentity ImpersonationUser { get {
string[] args = new string[3] { this.Domain.ToString(), this.Username.ToString(), this.Password.ToString() }; IntPtr tokenHandle = new IntPtr(0); IntPtr dupeTokenHandle = new IntPtr(0);
//const int LOGON32_PROVIDER_DEFAULT = 0; ////This parameter causes LogonUser to create a primary token. //const int LOGON32_LOGON_INTERACTIVE = 2;
const int LOGON32_PROVIDER_DEFAULT = 3; //This parameter causes LogonUser to create a primary token. const int LOGON32_LOGON_INTERACTIVE = 9; const int SecurityImpersonation = 2;
tokenHandle = IntPtr.Zero; dupeTokenHandle = IntPtr.Zero; try { // Call LogonUser to obtain an handle to an access token. bool returnValue = LogonUser(args[1], args[0], args[2], LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, ref tokenHandle);
if (false == returnValue) { Console.WriteLine("LogonUser failed with error code : {0}",Marshal.GetLastWin32Error()); return null; }
// Check the identity. System.Diagnostics.Trace.WriteLine("Before impersonation: " + WindowsIdentity.GetCurrent().Name);
bool retVal = DuplicateToken(tokenHandle, SecurityImpersonation, ref dupeTokenHandle); if (false == retVal) { CloseHandle(tokenHandle); Console.WriteLine("Exception in token duplication."); return null; }
// The token that is passed to the following constructor must // be a primary token to impersonate. WindowsIdentity newId = new WindowsIdentity(dupeTokenHandle); WindowsImpersonationContext impersonatedUser = newId.Impersonate();
// Free the tokens. if (tokenHandle != IntPtr.Zero) CloseHandle(tokenHandle); if (dupeTokenHandle != IntPtr.Zero) CloseHandle(dupeTokenHandle);
// Check the identity. System.Diagnostics.Trace.WriteLine("After impersonation: " + WindowsIdentity.GetCurrent().Name);
I need to implement SQL server 2005 reporting services in my current project, we will be having a report server for that, now i am really confused ho should I integrate reporting services with my asp.net 2.0 web application.
My requirement consists of using tables, charts and graphs, need to save reports as excel, xml and csv formats and most important thing is report columns are dynamic, user can select/deselect some columns in a particular report.
Can any one help whether i should go for reportviewer in remote processing mode(then how can i pass column information) or should i go for url access or use SOAP API.
URL access looks easy to implement and really bowled out by SOAP API option, and dont know whether reportviewer can fulfill my requirements or not.
I tried to open a SQL Server 2005 Reporting Service report in ASP.Net 2.0 using ReportViewer. The following is my code.
Dim param(2) As Microsoft.Reporting.WebForms.ReportParameter param(0) = New Microsoft.Reporting.WebForms.ReportParameter("ProjectID", Me.cboProject.SelectedValue) param(1) = New Microsoft.Reporting.WebForms.ReportParameter("RunBy", Session("strEmployeeName")) Me.ReportViewer1.ServerReport.SetParameters(param)
Me.ReportViewer1.ServerReport.ReportServerCredentials = New _ clsReportServerCredential(System.Configuration.ConfigurationManager.AppSettings("strReportViewUser"), _ System.Configuration.ConfigurationManager.AppSettings("strReportViewPassword")
Me.ReportViewer1.ServerReport.ReportServerUrl = New Uri(http://SQL2005/ReportServer/) Me.ReportViewer1.ServerReport.ReportPath = "/nsPortalReports/rptIssuesByRole" Me.ReportViewer1.ServerReport.Refresh()
I need help with passing multiple parameters. I got an erron on the second parameter (parm(1)). The error was
"Overload resolution failed because no accessible 'New' can be called without a narrowing conversion: 'Public Sub New(name As String, values() As String)': Argument matching parameter 'values' narrows from 'Object' to '1-dimensional array of String'. 'Public sub New(name As String, value As String)': Argument matching parameter 'value' narrow from 'Object' to 'String' "
I am trying to use a reportviewer control (processing mode = remote) to view a rdl that is hosted on a server running MOSS, the reporting services are run in "sharepoint integrated mode". When i try to set the path to the RDL on the control like i usually do for an ASP.NET ReportViewer control, i get the error message posted below. I cant find anything on google, Please HELP
Hi, I am using Reporting services 2000 in asp.net application.Everything is working fine ,but when I am trying to get a print using Internet Explorer Printing options ,the toolbar of the report is also coming into the print preview.I want to get rid of it.I want only the report no toolbar. Can anybody help me? Thanks!!
We have never been able to get the printing to work on any of our reports using SQL Server Reporting Services 2005 SP2 in our production environment. Without this feature of printing a report, we cannot go live with SSRS at all.
We have tried adding the SP2 after a clean install on a new server -- yet we still have this problem.
I read a few some posts about uninstall the old ActiveX control used for printing, so I did this and installed the new one but that didn't help either.
We can print to files without issue - only when we try to print to a real printer does it hang forever.
It doesn't matter how big the report is, 100 pages or 1/4 of a page, same problem.
We do the following:
1) Run the report 2) Click the print button 3) Select a printer and press ok 4) "Printing Now..." dialog box appears 5) "Print Error" dialog appears and never goes away - and nothing is printed out. Have to close IE and crash the report session to get out of it.
This is the result on every client computer we have ever used in trying to access the report server.
It also hangs in running a Print Preview for all reports.
We are printing to network printers from IE6 and IE7.
Since this is on a server, we do not have a local printer to this server computer to try to print to. Even if it worked on a local printer, this is supposed to be an enterprise solution. Almost all of our employees print to network printers.
I am logged into my machine as a domain admin. I have no printing problems in any program printing to any printer, except when using Reporting Services.
We are trying to print from an ASP web application which runs the reports in an iframe using URL access.
We are able to print the same reports on all of our development environments using the same ASP web application and RDL.
I have been working on this problem for days. I have a report that is grouped and will be printed duplex (front and back). There is a page break after each group. I want to ensure that the start of a new group does not end up printed on the back side of an old group. For example:
Page 1 (printed on front side of paper): group 1 Page 2 (printed on back side of paper): more group 1 Page 3 (printed on front side of paper): more group 1 Page 4 (printed on on back side of paper): group 2 <--- This is a problem
I need:
Page 1 (front side): group 1 Page 2 (back side): more group 1 Page 3 (front side): more group 1 Page 4 (back side): <This Page Intentionally Left Blank> Page 5 (front side): group 2
Issues that I've run into include the fact that SSRS renders the entire body first, before rendering the header/footer. This prevents the body of the report from knowing which page it will end up on when it is rendered (and is also why you cannot reference Globals!PageNumber from the body).
The restriction above also prevents using a variable in custom code to know when to generate a page break. If you set this variable in the header/footer then the body will never see it as the entire body is rendered first and will therefore only see the initial state of the variable.
I have seen this issue posted in a number of places, but no one ever has a solution to this (except switching back to Crystal Reports). Have any MVPs ever addressed this issue? I am really hoping someone can offer a good solution or work-around.
I had a problem accessing our report manager via the web front... We deleted the virtual directories in IIS and then recreated them... this required us to make a change in the rsWebApplication.config file to include the URL in the ReportServerUrl tag before we could access the site again. Now we have access to the site but when we attempt to view a report that we deployed to it - the report fails to render and returns a rsReportNotReady error, even though the report doesnt use a snapshot.
Furthermore, the strange thing is that the filters for the report don't display in their own collapsable bar as they used to before... they just display on the white part of the page. Neither does the reportviewer toolbar display properly. It appears as labels and textboxes going down the page and not in a toolbar as you might expect...
any help is appreciated... we suspect that it is some kind of configuration issue, but we have no clue where to begin...
I'm trying to rertieve specific RS 2005 report by passing WebApp control value (this.VCtrlNo.Text) to "CV Report" - name of my report with the following scripts.
1) No Action - when clicked. AutoPostBack is set and properly initialized.
2) This just opened the default page instead of specific report. <a href="http://localhost/Reports/Pages/Report.aspx?ItemPath=%2fReports+Folder%2fCV+Report&rc=Render&vctrlno=10-0000037", target="_blank">Open CV Report </a>
Where "Reports" is the reportmanager, vctrlno is the parameter name (properly set) and obviously I want to open a new page.
I would be very thankful to anyone who can lead to make this work.
I have a report (stored procedure) that I have set up in SQL 2005 Reporting Services. I've designed this report (using SQL server business intelligence studio), and several other reports, thinking that running totals or summing may be the issue, but it hasn't been. The latest iteration has been just a display of product info, about 100 records, no fields formatted or summed. Very very simple, straight-forward report. If I go to the Report server & upload the rdl file, it displays fine, performs as it should, paging & exporting - everything works fine. The issue comes up when in a web app, I put a Reportviewer control on the page, and call the report.
It works, sort of.
Originally, I had written the page using ASP.NET AJAX Enabled web project, and I had been using the Tab Container on the page. What happens is when I open it on that tab (I am using AJAX Tab panels, which had been working fine without this behavior prior to finally getting the reportviewer working), and the report displays, the "e" on Internet explorer at the top of the tab now flickers, like the page is reloading. It also runs the CPU up to 100% on the computer and although I can go from tab to tab in it (I am using AJAX tab panels in the page), it will take like up to a minute to go to the next tab. I'm not doing anything really data-intensive on those tabs, and they had been functioning fine prior to putting in the report viewer (i.e. they weren't flickering & clocking the CPU).
Thinking that the Tab Container may be the issue, I created just a plain AJAX Enabled web project and put the same reportviewer on it. Same performance. It'll display the report, and then take the system up to 100% and stay there until I kill the browser.
After that, I did just a plain old ASP.Net web project and put the report viewer control on it. Same result. The report will display, but as soon as it does, the "e" on Internet Explorer tab starts flickering and you see the CPU go to 100% and stay there. I've left it for 20-30 minutes with no change. It appears as if the page is constantly refreshing.
Thinking that the issue may be related to having the reportviewer report hard coded in the app, I put a button on the page, and assigned the button to put in the report. It displays, but it again runs the CPU up to 100% and stays there.
I thought that having Asynch = True (run the report asynchronously) might be the issue, but setting it to false made no difference.
I eventually have to kill the page to do anything, because it has the system up to 100%.
The code I am using on this page follows:
Here's the code in the codefile:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then Me.ReportViewer1.Visible = False End If ReportViewer1.ServerReport.ReportPath = ""
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click ReportViewer1.Visible = True ReportViewer1.ServerReport.ReportPath = "/BA10listing"
.... so you can see there's a lot going on here. The report returns ~100 records or so, no calculations, no summation, no grand totals. Basically a "nothing" report, just listing product info data.
In SQL Reporting Services in the web browser, this report displays fine, no problems. It's only when I call it from the Reportviewer inside a web page that it hangs.
Any idea why reportviewer might make this act this way?
My system is running Windows XP, VS 2005, I have both SQL 2000 and SQL 2005 on this same box. I have a server that has both SQL 2000 & SQL 2005 on it as well, and the behavior is the same for both, whether I run the web page with the Reportviewer control on it with the report being on the local system, or the remote system.
Any help or advice would be very much appreciated.
I have reports, set to print on Landscape and Legal ie 14 * 8.5. However, when certain users try to print the report, it prints it in Letter, even though the report is set to print in legal /landscape.
The strange part is that for most users it prints correctly in legal, only for some it is on letter. Any idea why this would happen?
I want to be able to grant the ability to print and export reports in Report Manager to individual users or a group of users. I know I can disable or enable printing and exporting for all users. What I would like to do is create user groups and place everyone who needs to ability to print or export into those groups.
We recently upgraded from ReportViewer 9.0 to 10.0 Control in our ASP.NET application, and face some strange issues after the upgrade. When we press the Back button to go to a page that was rendering a report with one or more single-select drop down lists, the selected index in the drop down is reduced by 1, and the report doesn't render until I press "View Report". I verified that exact same setup works well with ReportViewer 9.0.
I have designed plenty of reports in VS 2005 and have been deployed on the reporting server. I have been designed one web page which shows UI through which user can access which ever reports he/she wants. I have kept some buttons on UI. When button is clicked appropriate report accessed and displayed on the browser. Â Problem is that, report width is about 40 - 50 % of the screen and report viewer shows the report on the left align of the screen. I just want to show the report at the center of the screen. Also, any property I can use to set the report size in the proportion of screen in Percentage(%).
This is a subject that has been brought up before but I have not seen a definitive answer/solution. We have implemented a custom authentication extension (forms authentication) for reporting services and it has been working just fine under "normal" conditions; "normal" being users logging in, viewing reports, and then moving on. Recently some reports were created by our report group and they contain Dundas gauge controls for "dashboard" style reports. These reports are meant to be up all day and they post back every few seconds because the data they present is mission critical. This of course exposed the inability of the reportviewer control to stay in the context of Report Manager when it comes to the cookie exchange and authentication thus resulting in the following error: <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="/ReportServer/logon.aspx?ReturnUrl=%2freportserver%2fReportExecution2005.asmx">here</a>.</h2> </body></html>
I created a quick ASP.NET web application and added the reportviewer to it, implemented IReportServerCredentials and the report came up as expected but behaved the same way as it did in Report Manager. Same with a Windows Forms application.
Increasing the cookie timeout in the forms authentication tag is an option, but not an attractive one. Extending the reportviewer control is also an option, but I don't know if that is a good candidate right now because I don't see anything extensible yet.
Is this just the nature of RS with custom authentication or is there a viable solution out there right now?
Any and all answers are much appreciated and I thank you in advance.
So I have been asked by our sustainability person to create report from our printing data that actually shows the number of pieces of paper used. This is easy enough for single-sided printing, but when printing in duplex the software does not take into account that 3 printing pages actually equates to 2 pieces of paper. I know this sounds simple, but say I have a print job record that looks like this:
Submitted printed total_pages duplex 8/10/2015 8/10/2015 42 1Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â
This is a print jobs that if done correctly is actually 21 pages( duplex printing). If the job is say total_pages =5 I cant just divide by 2 because its actually using 3 pieces of paper ( yes they are wanting this data don't ask why). How can I adjust some sql to accurately depict 5 pages, front and back, as 3 pieces of paper?
I have deployed a report that is configured for landscape printing. It does print in landscape, however, only the first seven columns appear on the first page and the other five columns appear on the next page. Is there a method, like in print preview setup in MS Excel, where we can scale down the print (like to 80%) so all columns appear on each page?
I have a report that is a little wide, and when I export it to an Excel file it spans about 2 pages. I have it set to an 8.5 height and 11 width for printing in landscape on normal-sized paper. But is there a way to make sure that the report exports with the printing page break covering the entire width so that the report prints only one page across? The users don't want to resize in Excel before printing.
I must confess it has been a long time since I have done any SSRS reporting. I have the following SQL Statement (I will change it to a stored Procedure with parameters once I get the design done):
SELECT rc.wo_id, rc.process_id, rc.item_id, rc.lot_no AS full_lot_no, rc.oper_id, rc.seq_no, CAST(la.attr_value AS DECIMAL(12, 2)) AS weight,
[Code] ....
This gives me the data I want which looks like this:
Rework ID             Ingot          Oper ID        Piece        Rework 28                          xxxxxx14          5                   M88           Route 1 55                        xxxxxxx15          5                  B106          Route 2 79                        xxxxxxx19          5                   M68           Route 3 164                      xxxxxx234           5                   T16            Route 4                            xxxxxx234          5                    B82            Route 4
The grouping is on the Rework ID.  Any of the pieces can be put on any rework route. As you can see, there are 4 routes, but 5 pieces.  What I need is for each rework ID to be printed on its own paper even if there is only 1 record for the route. So I would expect 4 pieces of paper, 3 with 1 record, the 4th with two pieces. Is there a setting in the Tablix or report that I can set, or is there an expression I can use?
We have SSRS reports hosted on a terminal server. When user clicks PRINT button, there is a prompt "Printing is not available. Verify that ActiveX is enabled,..." When logs on as Admin, we can install this ActiveX, however normal users won't have the privilege.
I have a local report for which i am binding the Dataset dynamically. I am trying to print this report using a seperate button on the page. I saw in the forums saying that the reportviewer can be converted to an EMF file, bind this to an image control and can Print this image using Javascript.
Can anyone help me with the sample code to print local report from the reportviewer (it may be in any approach.)
SQL 2012. VS2013..I have created a SSIS package that generated a pdf report and a script task that prints the pdf reportScript task    Public Sub Main()    '        Dim pdfFileName As String = Dts.Variables("User::CUR_ADDACSReport").Value.ToString        Dim PrintPDF As New ProcessStartInfo        PrintPDF.UseShellExecute = True        PrintPDF.Verb = "print"        PrintPDF.WindowStyle = ProcessWindowStyle.Hidden        PrintPDF.FileName = pdfFileName        Process.Start(PrintPDF)        '        Dts.TaskResult = ScriptResults.Success    End Sub
When I run the SSIS package from VS2013 it executes and the report is printed, however when I deploy it to the SQL server as an agent job, the package executes, but the report is not pronted.