Why Does Crystal Reports ALWAYS kick my Axx - Part XI
Join the DZone community and get the full member experience.Join For Free
Yes I know it's been a while since I blogged about my *favorite* development tool... but that's only because I haven't had to touch it!
That smooth series of events was shattered yesterday with me experiencing the Thrill of Victory and Agony of Defeat in multiple cycles... and as you can guess it involved Crystal Reports.
So here's the deal... I'm working inside what a fellow developer called a 'Draconian' environment. .NET 2.0 is the 'standard' although I installed 3.5 SP1 on this box (and either they haven't noticed or decided not to complain). Add to all that the fact that the web app suite is old-school as well. I've recently dragged it into .NET 2.0 kicking and screaming (me, not the software).
So two days ago I had the genius idea of using Ajax in the app. Of course with .NET 3.5 SP1 I didn't need to do anything to get that goodness, but remember my user's and my target is 2.0. I downloaded the 1.0.61025.0 version of the binaries. I imported them and set the resources to 'local'.
After some early-adoption issues I got the Ajax stuff that I wanted working... booya! oh wait, would it work on a user's machine... So I backed up the server files, and deployed the new. Still worked here. I went to a user's machine and it worked there as well... cool :)
I started working on the next form and it was a search form that leads to a Crystal Report and of course when I tried to run the report it puked and died... sigh... and this one was a new one on me...
Could not load file or assembly 'System.Web.Extensions, Version=126.96.36.199, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
So back to Google and found lots of posts about it, and lots of idiotic comments from "developers" that apparently troll forums just to see if they can insult people looking for help and pi$$ me off in the process. To all of you: when you get done working on "Hello World" and start building real applications, good luck getting assistance!
Sorry, just had to get that out of my system :)
Gave up at the end of the day on that one. Came in today with 2 choices: either find a way to get around that or restore from version control.
Back to Google, then Bing and hey, here's a post that looks good... and wow although that looks like a dirty hack, it works:
and thanks a bunch to Jason Whitehorn for that post.
That lead to a repeat of yesterday... check it out on this box, push it to the server and try it on a user's machine.
That lead to a Crystal Report with a bad link reference on it. The report displayed which was the problem I had been trying to resolve, but the link needed to be fixed.
This is a small report... only 8 subreports. So I opened the subreport in question, fixed the reference, saved it, re-imported it into the main... oops, it doesn't know where the xsd file is... that means I hadn't touched this since the new machine was delivered... not a big deal, we have the technology. I pointed it at the right place, then throught I should check the other 7 reports ... yep... they all needed to be touched. I'm starting to shake now... this is way too much interaction with Crystal Reports and I just have this feeling it's going to poot.
And it did.
It wanted the database credentials... why? I was able to find and open it in the subreport and nothing in any underlying whatever changed.
So I started my normal mode of dealing with Crystal Reports: make a change, save, close the project, turn around 3 times to the left, twice to the right, have someone else push the build button, you know the process.
No go... sigh... I finally got it to where I had the report back no problem, but my change wasn't in there.
So I nuked the subreport out of the main, and re-inserted it and wow... that worked!
I just know when you call customer service for this POS that the response somehow involves waving a dead chicken over your head and quacking like a duck... but I'm dang glad that it's working, and I hope I don't have to touch it again for a while...
All-in-all one good link and a few rants, hope the link helps someone else!
Published at DZone with permission of Dave Campbell, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.