A lot depends on your learning style, but I would avoid online training and non-university tech training (i.e. "We can get you certified in as little as X months!!") classes. I believe many of those places are little more than hucksters working to separate you from your money. Even universities are businesses that sell a product; their product is education, and they do a lot better job of selling that than at job placement.
I'm a programmer, specializing in writing Java (JSP/Servlet) webapps, and due to cutbacks (our DBAs were all RIFed) I've also been doing a lot of database design lately. I analyze processes, and then automate them -- it can be challenging at times (I can't say that I really like "challenging", I enjoy satisfaction when "challenging" is successful, but I'm usually quite frustrated while it's actually happening). I prefer projects that are straightforward enough that I know what I'm doing and can be confident I'll make deadline. Anyway, I enjoy analyzing processes, modeling data, designing components and combining them -- it's like solving a puzzle -- when I'm "in the zone" I can see how everything fits together and visualize a clockwork-like mechanism as data flows through my programs. I see programming as a very creative activity -- at the end of a project, I've created a new autonomous entity, like Athena springing forth from the mind of Zeus; other people feel differently and that's why I'm a programmer and they aren't.
There are a couple things I did that were probably mistakes. While going to IU, I worked in the computer labs and I did tech support on campus. The work was quite easy, often little more than making sure equipment didn't walk away, and it was convenient; I could literally walk down the hall from work to my classes. However, when I started searching for a job, working on campus got no respect -- I should have taken an internship instead. I wasn't ambitious enough about how my experience, or lack thereof, would look in interviews. I didn't network, expecting that a degree alone would open all the doors. It doesn't; an Associate degree got no nibbles whatsoever, so I continued through to a Bachelor's with a minor in Business, and even then had trouble landing a job with no outside programming experience on my resume.
Also, I enjoyed going to college in my late 30s, but things were tight -- I worked part-time and was really only able to go to school because I had no major debts or dependents. However, I also had no medical coverage, and I was very... VERY... [color:"red"]VERY...[/color] lucky to have avoided a medical or financial crisis during that period.
Finally, as others have said, take a little while to figure out what you want to do. Before going back to school, I was fired from my previous job with the words, "Your job's not to think, it's to do what you're told!" Initially, I just wanted to go back to work and start earning a check again. It was only after quite a bit of soul-searching that I decided I never wanted to be told that again. I took aptitude surveys and personality assessments before deciding that I needed to be a programmer -- I fit into that job like no other work I'd done before.