Report viewer shows blank report - c#

I have never used reports before and my knowledge is really limited. I have developed an application using C# and SQL Server 2012 Express and one of the features is to show customers account in ReportViewer.
This report gets its data from a stored procedure and for now everything works fine, but the client wants it to work on the desktop of several different machines.
So I made one machine work as a server with the others connecting to it by router and everything in the application works fine except the ReportViewer shows only a blank white report (but only on the client machines -- not the server)
I also tried updating the dataset's connection string in app.config.
What should I try next?

Related

Crystal reports - different detail section results on different servers

I have a Crystal Reports report that simply has a Blob field(BinaryImage). The reports is in landscape and should simply show 1 label per page.
The problem I recently encountered was that setting the height of my details section has different results on different servers. The report is being generated from a website as a pdf. The code of the website is written in C#(backend) and typescript(frontend).
If I set the height of the detail section to 10 cm the report shows 1 label per page on my development pc(when run locally from code) and on our production server. However when the report is generated from a website hosted on our development server or acceptance server it shows 2 labels per page(1 on top and 1 at the bottom).
Setting the height of the section to 11cm gives the correct behavior on the development and acceptance server but gives an error locally and on the production server: "The page size was not large enough to format the contents of an object"
My development pc has Windows 10(64-bit), the servers have Windows Server 2016(64-bit) as OS.
I've tried comparing the registry keys of Crystal Reports on my pc and the development server but found nothing conclusive. Looking at potential printer options that could influence the behavior also showed no real results.
The report was made in Crystal Reports XI release 2 and all the servers(and my development pc) have "SAP Crystal Reports runtime engine for .NET Framework(64-bit)" version 13.0.20.2399
The code is the same and so is the report. What could cause this different behavior?
Section expert of details section
[edit]
Here are 2 screenshots of the drivers installed on the DEV server and the PRD server:
DEV Drivers
PRD Drivers
The default printer is Microsoft Print To PDF. The driver for this printer is the same across all mentioned servers. The only real differences are the "Remote Desktop Easy print" driver, which has a lower version on the production server, and the "Send to Microsoft OneNote 16 Driver". The "uniFLOW Universal PclXL Driver" is only installed on the development server(and not on the acceptance server) so it should not be the cause.
I did not succeed in trying to get the "Remote Desktop Easy Print" to use the same version as the production server but I did remove it once and the behavior did not change.
This type of problem is usually tied to the print drivers installed on the individual computers. Insure that the servers all have the same print drivers install for whatever printer is set as the default.

Website can't connect to SQL Server, but console app can

I have a SQL Server with two databases, a production database and a development database. The .net 2.0 website hitting the production database with manual SqlConnection code is working fine. The other database is being hit from a newer ASP.NET MVC app using Entity Framework 6.2 and is getting timeout issues. The timeout takes 30 seconds the first time, but the page comes back almost instantaneously on subsequent refreshes. Both websites are on the same box as the database, so are only using "localhost" to connect. They are using SQL Server user logins, not Windows authentication.
I copied the .edmx and .tt files into a .net console app and that app has no problem hitting the database with the exact same linq query and pulling the same data that is failing.
I then created a new web site and copied just that same code into an aspx page. It fails the first time with a timeout, and then works on subsequent attempts (and a week ago, the main dev site was doing the same thing).
I separated the dev database from the SQL Server 2008 R2 server and attached it to a newly installed instance of SQL Server Express on a different port, and get the same results.
The web server is windows server 2008 standard 32-bit. I copied both websites and the console application to a new box (I thought was 2016, but it turns out it is 2008 standard 64-bit) and get the same results.
The dev site was working up until a couple of months ago. The client was using local user accounts for everything, but had a domain and wanted to do testing with windows authentication for an old vb app that hits the same database, and I had started migrating testing accounts to the domain. When the client tried to later, for an unrelated reason, change his password, we discovered that he was already using a domain account, but that his laptop could not connect to the domain. We found several other computers that could not connect, even though the machines I had connected to the domain during my testing were working fine. An outside network "friend" was brought in to figure out what was going on. At that point, I lost all track of what was actually done. I know that different network and domain configurations were tried and didn't fix the domain issues, but I don't know what. However, the production site was never rendered inoperative.
I have no idea what is going on. Does anyone else?
Oh, and in case it was a provider issue, I've also tried manual connection using OleDbconnection from the web app, and it also fails with the Timeout issue.
Update:
I spun up a new DataCenter 2016 box, installed IIS and .net on it and copied the website to that box. It has no problems hitting the database and pulling the data from the other server.
I know patches and such were updated on the original box while the domain and network were being manipulated, but I don't know how far behind they were. I suspect that some patch changed some default or inherited .net configuration options or something. I did do a "repair" on the .net installation, and that didn't make a difference. However, with the production site working fine, I'm not currently willing to uninstall .net or anything else. I'm afraid I would risk pushing this same error into the production site and the client would be screwed.
It seems that for some reason, the timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.
Try increasing the connect timeout property in your connection string to 60 or more. Default is 15 (in seconds).
Example: Data Source=(LocalDB)\v11.0;Integrated Security=True;Connect Timeout=30

ReportViewer and DataSets - Error while Installing on Other PC

Using: Microsoft Visual Studio 2010. SQL Server 2008. Report Viewer
2010
Hey everybody, hope you doin' great!, i'm actually having a hard time going through a complicated moment at my thesis developing.
Okay, let me explain it to you.
I designed reports on my software, on localhost they work perfectly but when I tried installing the software on other computer I'm getting an error when trying to open one of the reports.
The error is not controlled by the application, it says something like
"Error related to the network while trying to stablish a connection with the SQL Server, the server couldn't be found or it was unreacheable."
The thing is, on the form I got the report I'm Filling the ReportViewer with this.
this.UsuariosAtendidosTableAdapter.Fill(this.DB_SUBSIDIOS_MUNICIPALIDADDataSet.UsuariosAtendidos, fecha1, fecha2);
this.reportViewer1.RefreshReport();
DB_SUBSIDIOS_MUNICIPALIDAD is my Database.
UsuariosAtendidos is my Procedure.
fecha1, and fecha2 are the two needed fields to fill the stored procedure.
Moving on, on my RDLC I'm calling the stored procedure from a DataSet which provides of all the procedures.
The thing is that when installing it on other computer it seems like it CANT or its UNABLE to access that DataSet because its on my computer.
So the questions are:
How am I supossed to fill the report without using a local dataset?
PS: Sorry for my bad english, isn't my fluent lenguage.
You should also have a SQL Server instance with the database of interest on this another computer or you should change the connection string to point to your original computer, these two computers should be on the same network, SQL Server on the first computer must be started and available

C# WinForm with local mdf Database on Client-PC

I have some problems at the moment with an Applicaion of mine.
I got the task to create a Application for display stock data.
So i'd build a WinForm application with a local mdf Database.
The Application works great on my developer machine.
For the clients i've got some restrictions because of security reasons: I'm not allowed to install anything on the Client PC.
So after a long time of trail and error the application now starts on client PC. But the database connection will not work (db is local on Client).
The reason is that there are no SQL connectors installed on clients.
My questions is if there is any possibility to use SQLExpress or anything else without install on client?
(At the moment: providerName = "System.Data.SqlClient")
For the database Entity reference I use Telerik OpenAccess.
Thank u.

Unable to save data in sql server 2005 through c#.NET coding

I have a very unusual problem. I made a project in C#.net in vs 2008 and SQL server 2005.
I have two DB to use.
Now, the problem is whenrunning the project on my PC it works fine, but when i install on users PC, through setup, im getting a exception handler error , when im trying to save any data in either of the DBs. However i tried to insert data through INSERT INTO coomand in sql it works fine. And i have no problem in retrieving data.
So any one can help please do.
Thanks in advance
How are you specifying your connection to the database(s)? If you're doing windows authentication, most likely your user's accounts don't have permissions on the database. It could also be that they can't see the database from where they are on the network.
I'd start by pinging the DB server from the user's machine to make sure they can even access the server.

Categories