Where I've been (hiding)

ep.27

I actually haven't been playing Guitar Hero, which makes today's comic a four-panel lie-a-thon.  What this comic really is is a way into telling you about the recent backend upgrade to this website.  This is about to turn extremely geeky (if it weren't already), but summarily, this site has now been upgraded from MS Access to MS SQL Server 2005.  And not only that, it's using GoDaddy's SQL Server backend.

I certainly haven't seen any guides on the Internets on how to do this, so I'm hoping that people doing a search would benefit from my experience.  Here are some of the things that I've done to do this:

1) Downloaded a local copy of SQL Server 2005 Express and converted my MS Access database to SQL Server automatically.

It's always a good idea to test locally, so I wanted to convert my DB into a local instance of SQL Server.  This article (link was taken down as article no longer exists) helped me tremendously.  The author even put out a Word document which tells step-by-step how to migrate an MS Access DB into SQL Server.  Pretty cool!  Essentially, after this step, I was able to update my connection string to point to my local instance of SQL Server.

Also, I had to re-check my code once I've migrated to SQL Server.  I've had some issues regarding the datetime type that I had to fix.

2) Exported my local instance of SQL Server into a CSV file.

There are many ways of deploying a SQL Server instance, but unfortunately GoDaddy stipulated that I can only import my DB via a CSV file.  Lame!  So this meant that I had to find out how to first export my DB into a comma-separated text file, and then use GoDaddy's importer to deploy my database.

I think the easiest way of exporting a SQL Server instance into a CSV file is via SSIS, but I haven't been able to do that because what I had was SQL Server Express.  Doubly lame!  I felt pretty stuck for a while until I found several shareware apps online that would do it automatically.  The one that I downloaded was pretty crappy as it would only export half the rows in a table at a time, so I don't recommend it.  But I'm pretty sure that you can find one that's better.

3) Created tables in GoDaddy's SQL Server and then imported my CSV files into GoDaddy.

This is pretty straightforward:  while creating tables in GoDaddy's SQL Server, I made sure that I had my local instance open so that I knew which type to give to each column.  There's one BIG gotcha that I had to call customer service for:  in order to set a column as nvarchar(MAX) in GoDaddy, I had to set the column as nvarchar with length of -1.  THIS IS A BUG THAT GODADDY'S CUSTOMER SERVICE SHOULD NEVER EVER HAVE HAD TO ADDRESS.  I initially felt angry at the support guy since he totally did not know what I was talking about, but then I felt really bad for him later on because this is essentially a programmer error.  What's worse is that this is an easy fix.  ANYWAY.  Once I imported my tables into GoDaddy, all I had to do was...

4) Update my connection strings to point to GoDaddy, upload my files with the updated connection strings, and then did a small victory dance.

This is easy because GoDaddy provided me with the proper connection strings.

So far, I've tested the backend by putting out a Project Wonderful campaign for a short period of time, and it hasn't gone down since.

Attributions:  the background pics in panel 1 were taken by David Barrie and Yeah Im Kenny.  The background pics in panel 2 were taken by Dominic Alves and irina slutsky.  The background pics in panels 3 and 4 were taken by Karen and ricardo.martins, respectively.  I've been listening to a lot of Select Start, so I made them a shirt that exists only in my mind.  Also, Dirt Bike Annie still exists in my mind, so I used a shirt of theirs as well.


-George Ryan