January 2007 Entries

Oracle Client No Likey Parentheses In Folder Names

 

So I just have to write this down in case anyone else every encounters this problem.  I spent most of the afternoon troubleshooting a problem with one of my applications not connecting to an Oracle database during acceptance testing.  Here was the situation...

Most of our current projects are smart client applications using WCF for the application tier.  So part of my build script packages up a couple WCF service hosts, one which can be run in a Console Application and another as a Windows Service.  So I have a set of automated acceptance tests which perform end-to-end testing of the application using an already running WCF service host. 

First I would fire up the Console Service Host from my build directory (i.e. trunk\build), run my acceptance tests and everything is just peachy. 

Then I installed the Windows Service under C:\Program Files\Some Service Host (Test) (since I'm simulating a test environment) which starts up the exact same WCF services as the Console Service Host.  Run my acceptance tests and crikey, I would get this error message:

Oracle.DataAccess.Client.OracleException ORA-12154: TNS:could not resolve the connect identifier specified

So I triple-check (probably more than that) the code in the console app and the windows service (which both use the same class for starting up the services) and compare the configs which are identical.  Then I finally copied over the console app to the same folder as the windows service, C:\Program Files\Some Service Host (Test), and I got the same error message when running the Console Service Host from that folder. 

So I took a long shot and googled OracleException "Program Files" since it only happens when run under the Program Files directory.  I really didn't expect to find anything about that, but I was desperate.  Well, just so happens I found this forum post that explained what was going on.  Apparently the Oracle client has a documented bug with folder names that have parentheses in them!!!  Here's a quote...

"This turned out to be a problem with the Oracle 32bit Client (version 10.2.0.1)  when running an application from the folder "Program Files (x86)" that contains parenthesis. This issue is Oracle bug 3807408 and can be fixed by applying 10.2.0.1 Patch 6. This can be downloaded from MetaLink if you have an account:
http://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5059238"

So instead of worrying about downloading the patch (which apparently I need to create an account to get) and installing it on my workstation and on the build servers, I just renamed my folder to Some Service Host - Test instead.  :)

So hopefully this will save at least one person from blowing away most of an afternoon narrowing down this creepy little bug.  Ahh, now I can get back to my deployment.  :)

Advanced .NET Training Course coming to Richmond, VA

 

Jean-Paul Boodhoo has just officially announced that he's giving his Nothin But .Net bootcamp course down here in Richmond, VA from March 26-30.  I'm really looking forward to it, especially since our company (TCSC) is hosting the training in our facility. 

So definitely take a look at his post about it for more information and how to sign up.  Also, if anyone is coming in from out of town and needs any information about the area, please let me know.

TCSC on Google Maps

Keep in mind, you'll be getting a must have book (PoEAA) and a great tool (ReSharper) included with the class.

Hope to see you there!

5 Things

 

Wow, lil' ol' me?  Oh well, Erik Lane tagged me, so here goes...

  1. I played drums from the time I was 12 to about 19.  Played in my church growing up, in my high school concert, jazz and marching bands (no marching band jokes, please...  :).  I mainly focused on playing snare in marching band and besides the horrible story line, the movie DrumLine has some very familiar scenes in it for me.  I haven't picked up a pair of sticks in almost 10 years, that is until recently.  I've been wanting to get my "chops" back in shape, so my wife just so happened to buy me a pair of 2B's and a practice pad for Christmas this year, so that's how I relax now from a day full of coding.  :)
  2. I'm completely self-taught, although I don't completely like how that sounds since I have learned a ton from others in the IT community as a whole; self-taught as in no college degree.  Took Apple Basic and Pascal in high school, but opted to start working in IT right out of high school instead of going to college.  (Honestly, in most ways, I'm still glad I did).  I started out on the hardware/networking side of things and spent a good 10 years at Iron Mountain (8 in hardware/networking and 2 in software development).  Then I left for TCSC, where I'm currently employed.
  3. I used to really be into case modding back in the 2001-2002 timeframe.  That is, back before I married my wonderful wife and had a daughter...  :)  My handy dremel tool was my friend.  Hacking up cases left and right, putting windows in along with neon/cold cathode lights and, of course, lots of fans rigged up to a fanbus.  Even got into a little bit of circuit building by building my own baybuses with switches and LEDs for controlling case fans and lights.  Now it seems like every young hardware geek out there is doing case modding.  (Miss ya Yoshi...)
  4. I mentioned my family briefly, but I married my lovely wife, Stephanie, on June 1, 2002 and God blessed us with a daughter named Madeline on December 12, 2003.  And, in about a month, we're going to be blessed once again with a son (yet to have a name, but when our family asks us, we just tell them Theopholis...  :).
  5. My favorite (and sadly, probably only) non-techie hobby is golf.  Kind of an expensive hobby, but I really like playing, even though I'm not any good.  Something about teeing off as the sun rises on a beautiful golf course is just very relaxing.  I like to tell folks that I'm just doing this "programming thing" until I get my Tour Card (which of course will be never).  :P

Ok, so I guess I'll tag my former co-workers, Dan Collier and Patrick Creehan, my current co-worker Paul Laudeman, and...umm... who else hasn't been tagged?!?

TDD Resources (a short list)

 

A co-worker needed some TDD links and tutorials to get him started down the enlightened path of Test-Driven Development, or as I prefer, Test-First Development just to emphasize the importance of writing your tests first!

Important Note:  To be effective at TDD it's very important that you have strong OO skills and really understand how to write testable code.  You know, the usual mantra of Loose Coupling, High Cohesion, Inversion of Control, Dependency Injection, etc.

(Rather than list a bunch of links individually, I'll leave it to a few of the "master" lists that other fine folks have created along with some video and podcast episodes.)

Link Listings

dnrTV! Episodes

Podcast Episodes

Screencasts

Sample Code

Tools (ones I use anyways)

  • TestDriven.NET - makes TDD bearable in Visual Studio 2005 (although I still prefer NUnit)
  • NUnit - classic (nunit-console (included) is very handy for your build scripts as well)
  • ReSharper - what Visual Studio should've been (come on JetBrains, please make a .NET IDE!!!)  :)

Of course I'm sure there are a ton of resources missing from this list, but it's at least a start.

Happy TDD'ing!  :)