I made a mess. Does anyone remember how to back out of (undo) a global search and replace in CFStudio5? Should be the same process for Homesite+.
Update: Seems like I remember undoing a global search and replace in the past. Fortunately my replace string was absolutely unique and I was easily able to fix this with another global search and replace. The lesson is "don’t start a global search and replace and walk away from the computer for 15 minutes. If you did the find part wrong, you could be faced with many of changes!"
Yes! I have been fighting a horrid coding problem and the code just lost! I beat it! I mean this is the type of problem that makes you have bald spots and want to give up programming for something less painful like digging latrines in third countries. This is like I’ve been trying to build a car engine but everything is in metric and all my tools are SAE and the client doesn’t care about the engine but really wants to know why the paint isn’t on the car yet. Oh how I want to be beyond the paint and putting the last bit of polish on the application. Today I should be able to make much progress. Oh wait, no I have to be at the body shop by 8am! Guess my workday will begin at 10am. How frustrating!
You know when you are on a tight schedule, the stupidity that comes with MS SQL, ColdFusion and a Windows Server can make you go bald. There is no reason for something as simple as creating a datasource to be throwing dumb error messages!
Connection verification failed for data source: foo
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user ‘foouser’. Reason: The password of the account must be changed.
The root cause was that: java.sql.SQLException: [Macromedia][SQLServer JDBC Driver][SQLServer]Login failed for user ‘foouser’. Reason: The password of the account must be changed.
The password has been changed half a dozen times!
Update: Ah! Either 1) Know what your password policy is and make sure your password is compliant or 2) turn off “Enforce password policy” and “User must change password at next login” (which was my problem). For a datasource, you can probably remove the check from “Enforce password expiration” as well. Note that if you try to do all three of these at once that you will get errors. Remove “User must change password at next login” first then “Enforce password expiration” then “Enforce password policy”.
Years ago I ripped all the paneling out of the downstairs, tore out cabinetry, plumbing, a sink, and a wall. I waterproofed the concrete block wall first by filling any cracks with a mortar then painting the block with a thick waterproofing sealing primer. The wife asked, "why is this taking so long?" I then created studs for the new wall which included a walk-in closet and a nook that the previous setup did not include. The wife asked, "why is this taking so long?" I pre-drilled the studs for wiring and ran electric, cable (to multiple drops), and ethernet (to multiple drops). The wife asked, "why is this taking so long?" Next I insulated the walls and hung the drywall. The wife asked, "why is this taking so long?" Finally I was able to do the tedious step of applying joint compound (spackling) to fill the gaps and cover the drywall screws. If you mess up the joint compound, the mistake will be clearly seen when paint is applyed. I sanded and sanded and reapplied compound and sanded and sanded. The wife asked, "why is this taking so long?" Finally I was able to put a coat of paint on. The wife asked, "why didn’t you do that in the first place?"
Often my programming is very similar. A lot of detail goes into the framework of the site, that is the behind the scenes stuff that nobody ever sees. As a matter of fact, if I have done my job well, anything complex should be hidden from the user and the website should leave them with a "wow that’s easy! I could do this!" feeling.
My current project involves using ColdFusion to fetch a large amount of data from a data provider (some other company that has a really big database which frequently updates) in an xml format then parse it to save the results in my client’s database. I have made it over a huge challenge! But all my work is invisible to the frustrated client. I’ll put up the visible side shortly and I fear the client will ask, "why didn’t you do that in the first place?"
Why do I blog? Because when I spend a large amount of time troubleshooting, the next time the problem comes around (like getting ColdFusion 7 to connect to a MySQL datasource), I just have to read the post.