Really Weird Problem: WinForms.ReportViewer Slow Down The Whole Application
Apr 11, 2008
Hi,
I'm developing a desktop application using CAB and DevExpress 6.3 controls. I use ReportViewer control to render .rdlc reports under local mode.
I loaded data source from a dataset, template definition from a string, called the Refresh method of ReportViewer.LocalReport, so far, all are OK. But once I call the RefreshReport method of ReportViewer, the whole Application slows down, even after I closed the report viewer form. Operations like switch between menu items, open a new form and resize the main form become double or triple slow, CPU usage is keeping in 100% while doing those operations... I've no clue how refreshing report affects all those UI drawing...
However, if I break down and jump over the RefreshReport method, an empty report form shows and every thing keeps OK.
After all, all the reports can be rendered and shown correctly finally...
And seems there is nothing to do with the templates and data source, the templates are very simple, and event if I render the reports with empty data tables, it also slows down my application.
I tried to create and run the form in a new thread, tried to upgrade to ReportViewer 9.0, but both seem useless.
Could any body help me on this problem?
Thanks in advance.
How can I add multiple rdlc report definitions to a single Winforms ReportViewer control? I would like to start with the first rdlc and concatenate subsequent rdlc files after that. I want the user to be able to scroll through several different rdlc report definitions as if they were all just one report.
I have a VS2005 C# winforms application that reads a SSRS request from a table and using the ReportViewer control produces a report and then exports in one of a number of formats via a specified path to a share on another server. This normally works without issue, however today I have had three instances of invalid or blank PDF's being produced. A sample error from the Acrobat Viewer is "There was an error processing the page. There was a problem reading this document (109)."
The software version are as follows:
Host Server: Windows Server 2003 with Sp1.
SQL 2005 with Sp1.
Acrobat reader: Version 7.0
By deleting the PDF file, resetting the processed flag to un-processed, the report was run again, and this time a perfectly readable PDF file was produced. As neither the source data nor the report definition file was updated during this time period, how it works at one time but not previously is currently inexplicable. I have run the report manually with the same input parameters using Internet Explorer and exported it successfully to another location.
Any ideas as to what is going on?
A fix to the winforms application will be to delete any existing file before exporting a new one.
I have an application built using VS 2008 (3.5 fx). I build a series of reports (using VS 2005 (sigh)) and am now tryiing to render them using a Windows form and the ReportViewer control in the VS 2008 app. However I always get the error message "The source of the report definition has not been specified" when I execute the line
m_reportViewer.RefreshReport();
When I try to view the very same report in a VS 2005 app it renders without error. I can also view the report using Report Manager and preview it in the VS 2005 app I use to build it. Any suggestions?
Thx
Helen -- Helen Warn, PhD Agile Software Inc. www.agile-soft.com
We are thinking of using a Sql Server Express database (.mdb.mdf) as a data resource in a Windows Forms application that we will be distributing to clients. When the application is built, the mdb file is copied to the bin directory.
In order for clients to access this database, will they need to have an instance of the SQLEXPRESS server installed on their computer? Or since the .mdb.mdf file is being accessed from a .Net 2.0 application, there is no need to install a separate db component?
If I do have to separately install the db component on the client end, is this the way to go about it? This? Or is there a different/better way?
I create a small aplication to lookup postal codes, it uses only some basic queries. It's a Winforms (using Visual Studio 2008) application, as MS put as local datase SQL Server Compact 3.5, I use it.
The application works fine it has only tree tables (with the postal codes of USA, Canada and Mexico) using the SQL Server Compact 3.5 database file.
I create a setup project and made and installer, in this case I follow the indications from MS to copy to the application folder alld the SQL Server dll files needed.
In Windows XP, the aplication works fine after installation. But in Windows Vista not. I found that as the installer put all files unde C:Programa filesMy CompanyPostal Codes folder, the application need's administrator permission to run.
I don't know how to change the database file to another location in order to avoid this problem.
Do you know how to avoid this? Maybe using a different path for my database file (if this can you tell me how to make the connection string to works properly) Or making the app to requires the administrator permission (I know tha in VS 2008 this can be done, biy not idea of how?
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.
Dear All,Finally I completed my project. Thanks all you helped me to do it.Now I have the biggest problem. In my application the Data grid is filled with Data from SQL server table which has large number of records. When I run my queries in SS Management Studio it runs very fast. To fill data to datagrid it takes lots of time. How can I reduce this time. How can I increase the performance of my Application.Thanks,Janaka
We are using - MSSQL Server 2000 on windows 2000 advanced server. PB 7.0 for client server front end tools.
Prior to few days our application works fine, rightnow it get slow or not responding after few (4/5) transaction. We don't know wht it is, If anyone has same experience so that is helpfull for us.
We are having issues w/ a stored proc call in our application. When I run the proc through a query window in Mgmt Studio, it comes back in .3 seconds. However, when the application runs the proc (w/ the same parameters), it takes 30 seconds for the proc to complete. When I run a trace with the proc call through Mgmt Studio, it says 4000 read, but through the app, it says 4 million reads. What is happening?? (app uses Hibernate 3.2/ Java 1.5/ JDBC)
We are having SQL2000 Advance Server. 4 processor with hypherthreading, Memory 4 GB and it is a high transactional OLTP server. We are also running Transaction Replication on that server.
We recently bought Double Take and implemented on the server with File Difference with block check sum option for Disaster Recovery Purpose. The Queue and the Log file folder is on local drive where the system doesn't use that folder except double take.
We are replicating from Source to Taget thru the WAN (DS3).We are replicating approx. 200 Gig of Data but just the difference. Now the CPU usage is normal,Memory utilization is normal, but the network is a major problem as the Applications connecting to the Server timesout and the applications running very slow.
We have set just like the Tech support recommended.
I would appreciate, if someone give us some recommendations to run the double take without any problem.
Recently our database has been migrated from SQL 2000 to SQL 2005 on a new server(machine) with windows 2003(previously windows 2000). If the database is retained on the same machine but with a named instance of 2005, the application(websphere 5.1) is behaving normal whereas if i configure the aplication to the new server it is running slow for some of the queries but not all.
This change will have to be implemented in production very soon. Any advise will be of great benefit
I've got a football (soccer for the yanks!) predictions league website that is driven by and Access database. It basically calculates points scored for a user getting certain predictions correct. This is the URL:
http://www.pool-predictions.co.uk/home/index.asp
There are two sections of the site however that have almost ground to halt now that more users have registered throught the season. The players section and league table section have gone progressively slower to load throughout the year and almost taking 2 minutes to load.
All the calculations are performed in the Access database Ive written and there are Access SQL queries to get the data out.
My question is, is how can I speed the bloody thing up! ! Somone has alos suggested to me that I use stored procedures and SQL Server to speed things up? Ive never used SQL Server before so I am bit scared about using it (Im only a hobbyist), and I dont even know what a SP is or does. How easy will it be upgrading the whole thing to SQL Server and will it be worth the hassle, bearing in mind I expect my userbase to keep growing? Do SP help speed things up significantly? Would appreciate some advice!
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.
Hello All, I’m looking for a solution to timeouts that occur when I’m executing a stored procedure from my web application. Most of the SPs will run from 3 to 15 minutes, and, unfortunately, modifying/optimizing them isn’t an option at the moment. I tried setting the CommandTimeout to 0 with no luck. Unless, I didn’t use it properly. Here’s my code: 1 2 try 3 { 4 string dbConn = ConfigurationManager.ConnectionStrings["ConStringNTMTLDEV"].ToString(); 5 OleDbConnection connection = new OleDbConnection(dbConn); 6 7 lbl_SearchResult.Text = dbConn; 8 9 //OleDbDataAdapter adapter = new OleDbDataAdapter(); 10 OleDbCommand cmd = new OleDbCommand("SP_CallHistoryLookUp", connection); 11 cmd.CommandType = CommandType.StoredProcedure; 12 13 cmd.Parameters.Add(new OleDbParameter("@phoneNumber", "1234567890")); 14 cmd.Parameters.Add(new OleDbParameter("@email", "123@123.com")); 15 cmd.Parameters.Add(new OleDbParameter("@WebUser", "123")); 16 connection.Open(); 17 cmd.CommandTimeout = 0; 18 cmd.ExecuteNonQuery(); 19 cmd.Dispose(); 20 connection.Close(); 21 }catch(OleDbException ex) 22 { 23 lbl_SearchResult.Text += "<br/> Something went wrong </br>"; 24 lbl_SearchResult.Text += ex.Message.ToString(); 25 } 26 27 28 Is it possible to launch a stored procedure and close the connection without waiting for a result?Would the stored procedure still run on the SQL server? I’m using MSSQL 7. Would you have any examples that would solve this problem? Thank you for your help. R.
I am able to run a query which runs FAst in QA but slow in theapplication.It takes about 16 m in QA but 1000 ms on theApplication.What I wanted to know is why would the query take a longtime in the application when it runs fast on SQL server?How should we try debugging it?Ajay
Am I right in my understanding that I cannot deploy SQL/e to a machine that isn't running Visual Studio 2005, if I'm trying to ship within a winforms app?
I'm new to SSRS. I would like to launch a report from a C# desktop application, supplying parameters programatically. I was able to do this using System.Diagnostics.Process p ... then p.Start(@"(path)iexplore.exe","(reportURL)"); I'm betting there's a much better way to do this.
Ideally I would like to create an IE window that shows only the report, that is, only the report viewer toolbar is visible, the IE toolbars and menus are hidden. I want to specify IE as the browser in case some other browser is installed as the default web browser.
Can anyone link me to a tutorial or provide a code snip? Thanks.
I have a Visual C# WinForms app which I am accessing a SQL Server 2005 database with. On the Server, I have allowed remote connections (TCP and named pipes) and enable SQL Browser as per instructions on MSDN. The app works fine on the development machine.
Server name is <machine name>SQLEXPRESS, connecting with Windows Authentication. Server log states that it is listening on [ 'any' <ipv4> 3153]. Server named pipe provider is ready to accept connection on [ \.pipeMSSQL$SQLEXPRESSsqlquery ].
On the client (local network), when trying to open the database I get this error still:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Also on the client, I can go into the ODBC Data Source Administation, and connect to the SQL Server Database that way successfully.
What further steps can I take to allow the client to access the SQL Server?
I have a Visual C# WinForms app which I am accessing a SQL Server 2005 database with.
On the Server, I have allowed remote connections (TCP and named pipes) and enable SQL Browser as per instructions on MSDN. The app works fine on the development machine.
Server name is SQLEXPRESS, connecting with Windows Authentication. Server log states that it is listening on [ 'any' 3153]. Server named pipe provider is ready to accept connection on [ \.pipeMSSQL$SQLEXPRESSsqlquery ].
On the client (local network), when trying to open the database I get this error still:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Also on the client, I can go into the ODBC Data Source Administation, and connect to the SQL Server Database that way successfully.
What further steps can I take to allow the client to access the SQL Server?
I'm developing a CRI and in design mode I would like to have some controls on my adornment windows. Is there a way to use WinForms controls here instead of redefining the wheels...?
I've finally received my first official assignment using vb.net and SQL Server.
I have been developing / learning with both on the express editions.
I've also just run into some issues trying to access a SQL Server 2005 Express .mdf thru SQL Server 2005 Pro.
We just couldn't get it to open. Connecting or Attaching etc...
We had to install SQL Server Express on the other PC to get it to open the SQL Server 2005 Express .mdf.
---
Now that I am ready to develop in ernest, I would like to setup my own controlled development environment.
Our target is a winforms application with a SQL Server 2005 Database for WinXP or Vista.
I'm ready to purchase Visual Studio 2005 Pro once I figure out the best development environment and SQL Server Version.
Specifically, once I've developed my winforms app, what issues do I need to consider to install a SQL Server 2005 database server / engine on a client / users machine?
Can I use the SQL Server 2005 Express? Or perhaps there is an MSDE equivilant for 2005?
I can't seem to find any info regarding installation procedures for SQL Server in this regard. (Perhaps its because I'm using the express editions?)
Any positive contructive help would be greatly appreciated.
I've installed sql server 2005 on a customer's machine.
I have a very small "connection tester" app C# (2005) winforms app, which I use to verify connection strings. This app has been working for years. I am using the sa account to login with in this test app just to keep things simple. I am using Sql Server Authentication.
When I try to connect, I get a "login failed for user sa". I'm absolutely certain that I have the password correct.
Sql Server Express is setup in mixed mode, and I have all the tcp/ip settings correct ( as far as I know ).
I think if it was a tcp/ip thing, it wouldn't find the machine, as opposed to saying Login Failed.
I'm running out of things to look at.
The machine has .NET 3.5 installed. The connection test was written using C# 2005, .NET 2.x Could that cause a problem?
We have a winforms application with local rdlc reports. On Surface Windows 8 Pro devices only, reports render such that they are scaled down and don't fill the page. If resolution is lowered on the device, the report scales up to fill the page.
This affects the appearance in print layout and well as the actual printed size.
If we export to pdf, it renders to fill the page (as expected). If you print to pdf or to printer, the scale is shrunken.
If we change the resolution settings so that "Make text and other items larger or smaller" is set to small, the issue is resolved except the tablet is not very usable on this setting.Is this a bug?
have SQL Server 2005 std edition SP1 installed on Windows 2003 Std edition .Configured Transactional (single Publisher and no clustered environment.) Replication past two months working fine, Now 1.Distrib.exe application err is coming.
Due to which my job is failing (Distributor to Subscriber). Iam attaching thw file. Thanks Sandeep
I have a dts package that is mysteriously changing back to a previously saved version. Package is saved, and re-opened with saved changes, then moments later opened again to have been reverted back to an older version. Has anyone ran into this before? The only thing that I can think of is that if a version of the package is left open on some other machine (as the older version0, it may be auto-saving, and reverting back.
I run a website, so all of this is done remotely, I do not have access to the servers directly.
On my prior host, everything on the DB worked just fine. Had it optimized and running pretty good for the site by adding indexes, etc.
Then I moved to my new faster server (new host) and at first everything seemed to be just fine. However, some users started complaining about speed in spots.
Sure enough when I checked a given page -- WHAM... the page took about 14 seconds to load. Not exactly fast. :)
So I checked to make sure the indexes copied over and sure enough they did. But it was still slow, even in Query Analyzer/MSE.
So I decided to rerun my view script... on a lark... just to see if that affected something. And sure enough it did. The page started running at 1 second or less. OK, I thought, the view just got corrupted or something.
All was fine until the next night when it happened again. I had added 12 new rows to the table (I do this nightly) and it seemed that adding the new rows slowed down the system. Until the view was rebuilt. With that done again, it's worked fine.
But each night now I have to rerun that view.
What gives??? Is there a DB setting or something causing views/indexes to not be maintained?
The prior server was 2000 or 2003. The new one is 2005.
Again, I cannot get access to the box itself except through Management Studio. The host's tech support group is less than useless, treating everyone as incompetent before they help you.
I'm trying to CAST an integer to a varchar and I keep getting e+006 in my result set. The reason I need to do this is so that I can combine 2 columns to return a string.
I was developing a data-driven website but I got this error An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(I have Sql server 2005 also downloaded before) Please help me cause any website that has data can not be executed even the quick start tutorial that ships with the ASP.NET 2.0 What should I do?
Hello and thanks for taking a moment to read this message.I have two colums from which I am taking values. One of which(a bit field), i am running a CASE statement against it to get SQL Server to return a string. The other is just a simple varchar column. My SELECT statement for the columns look like this: SELECT Case tblDisplayProfile.Approved When 0 then 'Not Approved' when 1 then 'Approved' else 'Not looked at' END AS Approved, tblDisplayProfile.DisplayProfileDesc These statements do return me something. Now what I want to do is combine (concantenate) the two fields. This is where I have problems. Any suggestions would be greatly appreciated.