Getting old Crystal Reports into Visual Studio 2013/2015, a quick how to…

I had Crystal Reports on an old server.  It was time to make a decision regarding how to get the reports over to a new server quickly and at the same time avoid purchasing more software and enduring installations, testing, etc.  For now, I decided to put the reports in Visual Studio.  If you find yourself in a similar situation, then the information below may save you some time.  This is how I did it:

  • Closed all applications on my pc (Windows 7, 64-bit)
  • Installed this: http://scn.sap.com/docs/DOC-7824 (Support Pack 16, I MUST INSTALL the exe, NOT the msi or it will not properly integrate with Visual Studio), at the end of the installation it asked me if I would also like to install the 64 bit, I said no and all was well.
  • Rebooted pc
  • Copied this folder: C:\Inetpub\wwwroot\aspnet_client\ into the directory with my Visual Studio solution (I created a solution in Visual Studio called crystalReports) on my pc and inside the solution I imported the crystal report rpt file then I created an aspx file where (from the Toolbox > Reporting) I dragged a “CrystalReportViewer” and “CrystalReportSource” onto the code in Design view.  It will look like this:

” <CR:CrystalReportViewer ID=”CrystalReportViewer2″ DisplayToolbar=”True” DisplayStatusbar=”true” runat=”server” AutoDataBind=”true” />
<CR:CrystalReportSource ID=”CrystalReportSource2″ runat=”server”></CR:CrystalReportSource> “

The code behind has a Page_Init like this (if you leave out the init then you will most likely see issues when you try to view multiple records within the crystal report):

protected void Page_Init(object sender, EventArgs e)
{
ReportDocument reportdocument = new ReportDocument();
reportdocument.Load(Server.MapPath(“myCrystalReport.rpt”));
ConnectionInfo connectInfo = new ConnectionInfo()
{
ServerName = “servername\\SQLEXPRESS”,
DatabaseName = “dataInReport”,
UserID = “cheesyPoofs”,
Password = “chess”
};
reportdocument.SetDatabaseLogon(“cheesyPoofs”, “chess”);
foreach (CrystalDecisions.CrystalReports.Engine.Table tbl in reportdocument.Database.Tables)
{
tbl.LogOnInfo.ConnectionInfo = connectInfo;
tbl.ApplyLogOnInfo(tbl.LogOnInfo);
}
CrystalReportViewer2.ReportSource = reportdocument;
}

  • Run the aspx page and you should see the embedded crystal report running properly on your pc
  • You also need to install Support Pack 16 on whatever server you plan to run this Visual Studio application on so remember to do this before you publish your application to a server
  • You also need to copy this folder: C:\Inetpub\wwwroot\aspnet_client\ to the same location on the destination server
  • You might need to download the individual drivers to get a specific report working, I didn’t have to do this but it could be a possibility for you (i.e. https://dev.mysql.com/downloads/connector/odbc/3.51.html)
  • Misc Note: Cross reference web.config vs your ODBC. NOTE DSN entries mean you need an existing connection with that name.

Is the caller operating a jackhammer? No, it’s just bad cell phone reception – shocker!

I never thought I would type this but I miss landline phones.

This morning at 9:43am, while talking to my fella using horrid devices called “Smart Phones” (yeah…), I, for the billionth time, experienced the worst cell phone reception in the history of the entire Universe and all other Universes that may or may not be encompassed within the Universe in which I am reconstructing this moment of horror.

The following chart may help you cope with “Smart Phones” should you find yourself suffering from the same issues as I:

ISSUE COPING STRATEGY
Neither caller nor receiver can hear the subtle pauses in breath from one another; therefore both parties speak at incorrect times and end up cutting one another off constantly as each person tries to speak. Unfortunately this issue is so bad there is no coping strategy.  The only thing that comes close to offering relief for such a grievous experience is to over exaggerate your breathing so at least the person you are speaking to will have some idea of what is going on.  But this strategy often ends badly with the person on the receiving end misinterpreting the breathing as something malevolent and therefore ending the call in disgust.
A constant sound plays in the background, a jackhammer-like sound that becomes so distracting the listener can no longer focus on what the other party is saying. Use this as an exercise to increase your mental fortitude should you ever be captured by hostile forces (seen or unseen).  However, proceed with extreme caution in these murky waters for there is a fine line between increasing mental strength and that tiny moment of weakness when we suddenly fall into a torturous region of despair where we clutch the sides of our face, look to the sky screaming and forget why we even care about anything anyway.
The minimal amount of hardware available prevents any person from dramatically ending a call.  Speakers, during the most rage-filled conversations, must foolishly press a tiny button when they want to abruptly end a conversation. Play an audio clip of a landline handset being slammed down onto its base then quietly disconnect the call by pressing the silly little button.  Finally, with your last bit of rage, chuck the “Smart Phone” into the woods (using care to avoid wildlife because you know they will retaliate after you go to sleep by gnawing a hole in the side of your house and then hurling up fur balls onto all of your fancy rugs).

Contemplating the Self-Driving Car (from someone who knows nothing of them but really really wants one)

The self-driving car is at the top of my wish list and I will be a seriously happy coder if I get to enjoy one within my lifetime.  My ideal self-driving car would be one that requires no intervention by passengers other than voice commands for mundane tasks such as “open window” or “turn on radio”.  The topics I discuss below are regarding this ideal type.

The impact of self-driving cars on the aged, the physically impaired, and the visually impaired will be off the charts high.  I remember a blind woman telling me years ago (long before amazon.com) how difficult it was to just buy dog food for her dog.  Something as simple as buying dog food meant she had to take the bus to the grocery store that was over 5 miles away and, with her small frame, it was nearly impossible getting herself, her walking stick, her dog and a huge bag of dog food onto the bus without a series of delays or injuries.

Another potential perk of the (convertible) self-driving car is sun bathing.  Can you imagine how tan and beautiful we would all be if we could catch rays during long drives to boring meetings?  I could see special fold down seats with 5-point seat belt harnesses to keep you safely locked in while lying down.  The only light my skin sees right now is from computer monitors – ick!  I want to look like those beautiful people in Rio! Don’t deny me self-driving car inventors! Don’t deny me!

My ten hour drives to Ohio will no longer be sprinkled with gripping the steering wheel in horror through torrential downpours while surrounded by big rigs.  Instead, I will joyfully knit a new blanket or read a scary book and occasionally glancing through the window to see if the rain is letting up.

Hmmmm.  Knitting and reading in a car? I can’t do that now as a passenger in a regular car.  Believe me, I’ve tried and each time I just turn green and my entire body wants to convulse.  I have a feeling that all of the companies out there that have motion sickness drugs are about to become crazy rich because folks like me will certainly need their potions  if we ever get our hands on these cars.

I only have a few concerns right now regarding self-driving cars and these concerns may be without merit due to my lack of self-driving car knowledge but right now these are my concerns:

  1. Unforeseen dilemmas will surface during accidents or potential accidents as a result of calculations the system makes.  We are animals and by default we are programmed for survival above all else but will my self-driving car be programmed to save me no matter the circumstance or will my self-driving car be more self-sacrificing?
  2. No one owns vehicles anymore. Self-driving cars appear when you need them and are gone when you do not need them.  I would love to replace my driveway with an in-ground swimming pool; however, the car in my driveway represents absolute freedom.  When I want to drive to the mall or if I ever have to evacuate my city quickly, I may do it without delay.   Am I willing to give up absolute freedom? No.  And what about my privacy? I am not willing to give that up either.  Data will most certainly be collected on millions of people who “order” self-driving cars to show up here and there.  Sorry, no other human being needs to know that I went to the grocery store yesterday at 2:00pm to buy cinnamon bread.  No one.  That is it.  And I think we all know that any empty self-driving car (controlled remotely by another party) that shows up to pick you up is a big fat hack target and if it is hacked it isn’t going to be pretty – grandma is going into the river.  No! Grandma! No! Hackers killed grandma!

Create a free website or blog at WordPress.com.

Up ↑