One client of mine uses Crystal Reports for reporting, and our experience has been pretty bad overall. Part of
that might be due to the guy my client hired to create all of them. He seemed like a nice enough guy, but suffice
to say when I was asked to start replacing the Crystal Reports in our existing system there was talk of lawsuits. Every
report was made using the design view, and they had a funky web interface with really bad UI displaying all the reports.
Anyway, we had SQL Server replication set up, and then the Crystal Reports were looking at a seperate database server, as
they were designed in such a way to be enormously inefficient. So, when replication decided to crap itself, we switched over
to log shipping, thinking everything would just keep working. One of the many problems that cropped up was the appearance
of a database login prompt:
We tried changing the connection information in the Crystal designer, and the Crystal designer would always pull up a report just fine.
The damn web interface would always prompt for information. We'd put in the information we entered in the designer, and then
it would work. Since we didn't want to have users entering a user/pass every time they wanted to see a report, we kept changing
things, trying to find something that would work. Finally we found that it would work if we pointed the report at our live database
server, and ignore the backup we made for Crystal to use. As a temporary solution, we started changing all the reports to look
at the other server, and googled like mad to try to find a solution.
After finding many, many people having this problem unresolved, and many, many solutions that are applicable if you're coding these
up by hand, but nothing for our problem. We could tell that it was using the wrong config information, but had no idea how to
change what it was using.
Solution
The solution came after Chris did a text search on the web server, and found some random ASP file where the user info was stored:
%webroot%\ASP\rPortfolio\HTMLViewers\interactiveViewer.asp
The username and password for the web interface was hardcoded there, and we couldn't find anything in Crystal that could change it.
Notepad worked just fine. So, I guess for the web viewer, Crystal silently ignores the settings in the individual reports, and just
uses that one. Great design.